Я работаю в 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 Infoset (используется 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
Узлом может быть множество разных видов вещей: некоторый текст, комментарий, элемент, объект и т. Д. Элемент - это особый вид узла.
Как описано в различных спецификациях 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
узел и элемент одинаковы. Каждый элемент является узлом, но не каждый узел должен быть элементом.