Na pewno spójrz na w3c . Model danych jest łatwy do zrozumienia - nawet dla mnie!
xtofl,
15
Świetny komentarz z forums.asp.net/t/443912.aspx/1#443940 : Taki sam jak między owocami a jabłkami. Każdy XmlElement to XmlNode, ale nie każdy XmlNode to XmlElement. XmlElement jest tylko jednym rodzajem XmlNode. Inne to XmlAttribute, XmlText itp.
atconway
2
Element jest częścią formalnej definicji poprawnie sformułowanego dokumentu XML, natomiast węzeł jest zdefiniowany jako część modelu obiektowego dokumentu do przetwarzania dokumentów XML.
Jool
Odpowiedzi:
259
Obiekt Node jest podstawowym typem danych dla całego DOM.
Węzeł może być węzłem elementu, węzłem atrybutu, węzłem tekstowym lub dowolnym innym typem węzła wyjaśnionym w rozdziale „Typy węzłów”.
Element XML to wszystko, od (włącznie) znacznika początkowego elementu do (włącznie) znacznika końcowego elementu.
Teraz, gdy rozumiem odpowiedź ... Konwencja jest głupia. Słowa powinny być odwrotnie. W naturalnym języku angielskim „element” jest najbardziej podstawowym elementem składowym, z którego zbudowane jest wszystko inne. tzn. element w naturalnym języku angielskim jest bardziej ogólny ...
Sam Svenbjorgchristiensensen
11
@Juan Mendes: Właśnie takie są według DOM, ale Sam ma na myśli, że DOM uważa, że węzły są bardziej podstawowe (prymitywne) niż elementy, kiedy „element” w rzeczywistości odnosi się do najbardziej podstawowego elementu konstrukcyjnego w języku angielskim.
BoltClock
16
@SamSvenbjorgchristiensensen, który nie jest całkiem dokładny. Elementy można dalej podzielić na „części składowe”, takie jak protony, neutrony i elektrony, które z kolei można rozbić na kwarki, neutrina itp. Lepiej zrozumieć, co „węzeł” oznacza w teorii grafów , a wtedy zrozumieć, dlaczego projektanci XML wybrali tę nazwę (DOM to tylko wykres hierarchiczny).
Les Hazlewood
20
@LesHazlewood Właściwie słowo „pierwiastek” został użyty do opisania elementów fizycznych (wodór, hel, etc), ponieważ zrobił , że te rzeczy były niepodzielne. Dopiero znacznie później odkryli, że się mylili - zdecydowanie za późno, by zmienić nazwę; ) Zgadzam się z Samem, że sposób, w jaki nazywali i różnicowali elementy dom vs węzły, jest mylący i źle przemyślany (tyle, ile jest specyfikacji html).
BT
3
@BT twój argument byłby nie do zniesienia, gdyby komitet specyfikacji XML żył w starożytnej Grecji :) Nie były i jako takie, nowoczesna (słownikowa) definicja elementu, który (wyraźnie) reprezentuje części składowe, ma sens. Dodaj do tego znajomość węzłów w teorii grafów i naprawdę nie ma zbyt wiele miejsca na interpretację.
Les Hazlewood,
68
Różne specyfikacje W3C definiują różne zestawy typów „Węzłów”.
Węzeł jest częścią drzewa DOM, Element jest szczególnym typem Węzła
na przykład
<foo> This is Text </foo>
Masz element foo (który jest również węzłem, ponieważ element dziedziczy po węźle) i węzeł tekstowy „To jest tekst”, który jest dzieckiem elementu / węzła foo
Jak opisano w różnych specyfikacjach XML , jest elementto taki, który składa się ze znacznika początkowego i znacznika końcowego oraz treści pomiędzy, lub na przemian pustego znacznika elementu (który nie ma treści ani znacznika końcowego). Innymi słowy, są to wszystkie elementy:
Chociaż słyszysz, że „węzeł” ma mniej więcej takie samo znaczenie, nie ma precyzyjnej definicji dla specyfikacji XML. Zwykle odnosi się do węzłów rzeczy takich jak DOM, które mogą być ściśle powiązane z XML lub używać XML do ich reprezentacji.
Dokument XML składa się z zagnieżdżonych elementów. Element zaczyna się od znacznika otwierającego, a kończy na znaczniku zamykającym . Pewnie widział <body>i </body>w html. Wszystko pomiędzy otwierania i zamykania znaczników jest element za treść . Jeśli element jest zdefiniowany przez samozamykający się tag (np.<br/> ), Wówczas jego zawartość jest pusta.
Tagi otwierające mogą również określać atrybuty , np. <p class="rant">. W tym przykładzie nazwą atrybutu jest „klasa”, a jej wartość „rant”.
Język XML nie ma czegoś takiego jak „węzeł” . Przeczytaj specyfikację , słowo nie występuje.
Niektóre osoby używają słowa „węzeł” nieformalnie w celu oznaczenia elementu, co jest mylące, ponieważ niektóre parsery nadają temu słowu również znaczenie techniczne (identyfikując „węzły tekstowe” i „węzły elementów”). Dokładne znaczenie zależy od parsera, więc słowo jest źle zdefiniowane, chyba że podasz używany parser. Jeśli masz na myśli element, powiedz „element” .
Słowo występuje: „(tzn. Każdy węzeł liścia w drzewie składni dla wyrażenia regularnego)”. Jest w nienormatywnym dodatku, ale jednak tak się dzieje. Tam termin jest używany jako węzeł w drzewie analizy.
skyking
Nawet jeśli ktoś uważa, że definicja XML nie wspomina o węzłach, to Document Object Model (DOM) zdefiniowany do programowej interpretacji i manipulacji XML (przez tę samą organizację normalizacyjną) faktycznie definiuje i używa terminu „węzeł”. Ta odpowiedź nie pomaga w rozróżnieniu terminów i nie pomaga po prostu zignorować różnych zastosowań, twierdząc, że oznaczają to samo.
C Perkins,
9
Węzeł jest klasą podstawową zarówno dla elementów, jak i atrybutów (i zasadniczo wszystkich innych reprezentacji XML).
Nie zakładam, że masz jakieś źródło tego roszczenia? Na przykład standard XML definiuje termin „element” będący pustym znacznikiem elementu lub wszystkim, począwszy od znacznika początkowego do znacznika końcowego włącznie. Znacznik początkowy i pusty znacznik elementu nie muszą mieć żadnych elementów. Oba twoje przykłady są elementami. Termin „węzeł” jest zdefiniowany gdzie indziej, w DOM, który dotyczy modelu obiektowego, a nie samego tekstu.
skyking
-7
węzeł i element są takie same. Każdy element jest węzłem, ale nie jest tak, że każdy węzeł musi być elementem.
Ponieważ „nie jest tak, że każdy węzeł musi być elementem”, twierdzenie „węzeł i element są takie same” jest błędne.
glglgl
1
Poza tym twój opis jest błędny, nie jest też zbyt przydatny. Jedyną rzeczą, o której masz rację, jest to, że istnieje pewna różnica między terminami, ale pytanie brzmiało, jaka jest różnica.
Odpowiedzi:
Obiekt Node jest podstawowym typem danych dla całego DOM.
Węzeł może być węzłem elementu, węzłem atrybutu, węzłem tekstowym lub dowolnym innym typem węzła wyjaśnionym w rozdziale „Typy węzłów”.
Element XML to wszystko, od (włącznie) znacznika początkowego elementu do (włącznie) znacznika końcowego elementu.
źródło
Różne specyfikacje W3C definiują różne zestawy typów „Węzłów”.
Zatem specyfikacja DOM definiuje następujące typy węzłów:
Document
-Element
(maksymalnie jeden)ProcessingInstruction
,Comment
,DocumentType
DocumentFragment
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
DocumentType
-- bez dzieciEntityReference
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
Element
-Element
,Text
,Comment
,ProcessingInstruction
,CDATASection
,EntityReference
Attr
-Text
,EntityReference
ProcessingInstruction
-- bez dzieciComment
-- bez dzieciText
-- bez dzieciCDATASection
-- bez dzieciEntity
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
Notation
-- bez dzieciXML Infoset (używany przez XPath) ma mniejszy zbiór węzłów:
XPath ma następujące typy węzłów:
Odpowiedź na pytanie „ Jaka jest różnica między elementem a węzłem ” to:
An element is a type of node. Many other types of nodes exist and serve different purposes.
źródło
Węzeł jest częścią drzewa DOM, Element jest szczególnym typem Węzła
na przykład
<foo> This is Text </foo>
Masz element foo (który jest również węzłem, ponieważ element dziedziczy po węźle) i węzeł tekstowy „To jest tekst”, który jest dzieckiem elementu / węzła foo
źródło
Węzłem może być wiele różnych rzeczy: jakiś tekst, komentarz, element, byt itp. Element jest szczególnym rodzajem węzła.
źródło
Jak opisano w różnych specyfikacjach XML , jest
element
to taki, który składa się ze znacznika początkowego i znacznika końcowego oraz treści pomiędzy, lub na przemian pustego znacznika elementu (który nie ma treści ani znacznika końcowego). Innymi słowy, są to wszystkie elementy:Chociaż słyszysz, że „węzeł” ma mniej więcej takie samo znaczenie, nie ma precyzyjnej definicji dla specyfikacji XML. Zwykle odnosi się do węzłów rzeczy takich jak DOM, które mogą być ściśle powiązane z XML lub używać XML do ich reprezentacji.
źródło
Dokument XML składa się z zagnieżdżonych elementów. Element zaczyna się od znacznika otwierającego, a kończy na znaczniku zamykającym . Pewnie widział
<body>
i</body>
w html. Wszystko pomiędzy otwierania i zamykania znaczników jest element za treść . Jeśli element jest zdefiniowany przez samozamykający się tag (np.<br/>
), Wówczas jego zawartość jest pusta.Tagi otwierające mogą również określać atrybuty , np.
<p class="rant">
. W tym przykładzie nazwą atrybutu jest „klasa”, a jej wartość „rant”.Język XML nie ma czegoś takiego jak „węzeł” . Przeczytaj specyfikację , słowo nie występuje.
Niektóre osoby używają słowa „węzeł” nieformalnie w celu oznaczenia elementu, co jest mylące, ponieważ niektóre parsery nadają temu słowu również znaczenie techniczne (identyfikując „węzły tekstowe” i „węzły elementów”). Dokładne znaczenie zależy od parsera, więc słowo jest źle zdefiniowane, chyba że podasz używany parser. Jeśli masz na myśli element, powiedz „element” .
źródło
Węzeł jest klasą podstawową zarówno dla elementów, jak i atrybutów (i zasadniczo wszystkich innych reprezentacji XML).
źródło
Element jest jedynym rodzajem węzła, który może mieć węzły potomne i atrybuty.
Dokument ma również węzły potomne, ALE
bez atrybutów, bez tekstu, dokładnie jeden element potomny.
źródło
Węzeł jest zdefiniowany jako:
lub jako:
Teraz istnieje wiele różnych rodzajów węzłów jako węzeł elementów, węzeł atrybutów itp.
źródło
Teraz wiem, że element jest jednym z węzłów
Wszystkie typy węzłów tutaj „ http://www.w3schools.com/dom/dom_nodetype.asp ”
Element znajduje się między znacznikiem początkowym a końcowym w znaczniku końcowym
Węzeł tekstowy jest więc węzłem, ale nie elementem.
źródło
Element jest rodzajem węzła, podobnie jak atrybuty, tekst itp.
źródło
Element XML jest węzłem XML, ale z dodatkowymi elementami, takimi jak atrybuty.
źródło
węzeł i element są takie same. Każdy element jest węzłem, ale nie jest tak, że każdy węzeł musi być elementem.
źródło