Я працюю в Java з XML і мені цікаво; яка різниця між елементом і вузлом?
Я працюю в Java з XML і мені цікаво; яка різниця між елементом і вузлом?
Відповіді:
Об'єкт Node є основним типом даних для всієї DOM.
Вузол може бути вузлом елемента, вузлом атрибутів, текстовим вузлом або будь-яким іншим типом вузлів, поясненим у главі "Типи вузлів".
Елемент XML - це все від (включаючи) початковий тег елемента до (включаючи) кінцевий тег елемента.
Різні специфікації W3C визначають різні набори типів "Вузол".
Таким чином, специфікація DOM визначає такі типи вузлів:
Document
- Element
(максимум один), ProcessingInstruction
,
Comment
,DocumentType
DocumentFragment
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
DocumentType
- дітей немає
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
- дітей немає
Comment
- дітей немає
Text
- дітей немає
CDATASection
- дітей немає
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
- дітей немає Інформаційний набір XML (використовується XPath) має менший набір вузлів:
XPath має такі типи вузлів:
Відповідь на ваше запитання " Яка різниця між елементом і вузлом ":
An element is a type of node. Many other types of nodes exist and serve different purposes.
Вузол є частиною дерева DOM, Елемент - це певний тип Вузла
напр
<foo> This is Text </foo>
У вас Елемент foo (який також є Вузлом, оскільки Елемент успадковує від Вузла) та Текстовий вузол "Це текст", тобто дочірні елемент Foo Element / Node
Вузол може бути декількома різними видами речей: текст, коментар, елемент, сутність тощо. Елемент - це певний вид вузла.
Як описано в різних специфікаціях XML , element
це те, що складається з початкового тегу та кінцевого тегу, а також вмісту між ними, або по черзі порожнього тегу елемента (який не має контенту або кінцевого тегу). Іншими словами, це все елементи:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
Хоча ви чуєте "вузол", який використовується приблизно з однаковим значенням, він не має точного визначення для специфікацій XML. Зазвичай використовується для позначення вузлів таких речей, як DOM, які можуть бути тісно пов'язані з XML або використовувати XML для їх представлення.
Документ XML складається з вкладених елементів. Елемент починається з його тегу, який відкривається, і закінчується на його тезі . Ви, мабуть, бачили <body>
і </body>
в html. Все, що відкривається та закриває тегами, є вмістом елемента . Якщо елемент визначений тегом, що самозакривається (наприклад, <br/>
), то його вміст порожній.
Відкриваючі теги також можуть визначати атрибути , наприклад. <p class="rant">
. У цьому прикладі назва атрибута - "class", а його значення - "rant".
Мова XML не має такого поняття, як "вузол" . Прочитайте специфікацію , слово не зустрічається.
Деякі люди неформально використовують слово "вузол", щоб означати елемент, що заплутано, оскільки деякі парсери також надають слову технічне значення (ідентифікуючи "текстові вузли" та "вузли елементів"). Точне значення залежить від аналізатора, тому слово не визначене, якщо ви не вкажете, який парсер ви використовуєте. Якщо ви маєте на увазі елемент, скажіть «елемент» .
Вузол є базовим класом як для елементів, так і для атрибутів (і в основному для всіх інших представлень XML також).
Вузол визначається як:
найменша одиниця дійсної, повної структури в документі.
або як:
Об'єкт у вигляді дерева, який служить контейнером для зберігання пов'язаних об'єктів.
Зараз їх існує багато різних видів вузлів як вузол елементів, вузол атрибутів тощо.
Тепер я знаю, що елемент є одним із вузлів
Усі типи вузлів тут " http://www.w3schools.com/dom/dom_nodetype.asp "
Елемент знаходиться між початковим тегом і кінцем у кінцевому тезі
Отже, текстовий вузол - це вузол, але не елемент.
Елемент - це тип вузла, як атрибути, текст тощо.
Елемент XML - це вузол XML, але з додатковими елементами, такими як атрибути.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
вузол і елемент однакові. Кожен елемент - це вузол, але справа не в тому, що кожен вузол повинен бути елементом.