Конечно, посмотрите на w3c . Модель данных легко понять - даже для меня!
xtofl
15
Отличный комментарий от forums.asp.net/t/443912.aspx/1#443940 : Так же, как между фруктами и яблоками. Каждый XmlElement является XmlNode, но не каждый XmlNode является XmlElement. XmlElement - это всего лишь один из видов XmlNode. Другие XmlAttribute, XmlText и т. Д.
atconway
2
Элемент является частью формального определения правильно сформированного документа XML, тогда как узел определяется как часть объектной модели документа для обработки документов XML.
Jool
Ответы:
259
Объект Node является основным типом данных для всего DOM.
Узлом может быть узел элемента, узел атрибута, текстовый узел или любой другой из типов узлов, описанных в главе «Типы узлов».
Элемент XML - это все от (включая) начальный тег элемента до (включая) конечный тег элемента.
Теперь, когда я понимаю ответ ... Конвенция глупа. Слова должны быть наоборот. В естественном английском языке «элемент» - это то, что является основным строительным блоком, из которого строится все остальное. то есть элемент в естественном английском языке является более общим ...
Сэм Свенбьоргхристиансенсен,
11
@Juan Mendes: Это то, что они согласно DOM, но Сэм считает, что DOM считает узлы более базовыми (примитивными), чем элементы, когда «элемент» на самом деле относится к основному строительному блоку на английском языке.
BoltClock
16
@SamSvenbjorgchristiensensen это не совсем точно. Элементы могут быть разбиты далее на «составные части», такие как протоны, нейтроны и электроны, которые, в свою очередь, могут быть разбиты на кварки, нейтрино и т. Д. Лучше понять, что означает «узел» в теории графов , и тогда вы понять, почему разработчики XML выбрали это имя (DOM - это просто иерархический граф).
Les Hazlewood
20
@LesHazlewood На самом деле, слово «элемент» использовалось для описания физических элементов (водород, гелий и т. Д.), Потому что они действительно думали, что эти вещи неделимы. Лишь намного позже они узнали, что они не правы - слишком поздно, чтобы сменить имя; Я согласен с Сэмом, то, как они называли и отличали элементы dom от узлов, сбивает с толку и плохо продумано (как и большая часть спецификации html).
BT
3
@BT ваш аргумент выдержал бы, если бы спецификационный XML-комитет жил в древней Греции :) Нет, и поэтому современное (словарное) определение элемента, который (ясно) представляет составные части, имеет смысл. Добавьте это к знаниям теории графов об узлах, и на самом деле не так много места для интерпретации.
Les Hazlewood
68
Различные спецификации W3C определяют разные наборы типов «Узлов».
Таким образом, спецификация DOM определяет следующие типы узлов:
Узел является частью дерева DOM, Элемент - это особый тип узла
например
<foo> This is Text </foo>
У вас есть элемент foo (который также является узлом, так как элемент наследуется от узла) и текстовый узел «Это текст», который является дочерним элементом элемента / узла foo
Как описано в различных спецификациях XML , это elementто, что состоит из начального тега и конечного тега, а также содержимого между ними или, альтернативно, пустого тега элемента (который не имеет содержимого или конечного тега). Другими словами, это все элементы:
Хотя вы слышите, что «узел» используется примерно с таким же значением, у него нет точного определения для спецификаций XML. Обычно он используется для ссылки на узлы таких вещей, как DOM, которые могут быть тесно связаны с XML или использовать XML для их представления.
XML-документ состоит из вложенных элементов. Элемент начинается с открывающего тега и заканчивается закрывающим тегом . Вы, наверное, видели <body>и </body>в html. Все, что находится между открывающим и закрывающим тегами, является содержимым элемента . Если элемент определяется самозакрывающимся тегом (например, <br/>), то его содержимое пусто.
Открывающие теги могут также указывать атрибуты , например. <p class="rant">, В этом примере имя атрибута равно «class», а его значение - «rant».
Некоторые люди неофициально используют слово «узел» для обозначения элемента, что вводит в заблуждение, потому что некоторые анализаторы также придают слову техническое значение (идентифицируя «текстовые узлы» и «узлы элементов»). Точное значение зависит от синтаксического анализатора, поэтому слово не определено, если вы не укажете, какой анализатор вы используете. Если вы имеете в виду элемент, скажите «элемент» .
Слово действительно встречается: «(т. Е. Каждый листовой узел в синтаксическом дереве для регулярного выражения)». Это в ненормативном приложении, но тем не менее это происходит. Там термин используется как узел в дереве разбора.
скайкинг
Даже если учесть, что в определении XML не упоминаются узлы, объектная модель документа (DOM), определенная для программной интерпретации и манипулирования XML (одной и той же организацией по стандартам), действительно определяет и использует термин «узел». Этот ответ не помогает дифференцировать термины и не помогает просто игнорировать различные варианты использования, утверждая, что они означают одно и то же.
С Перкинс
9
Узел является базовым классом как для элементов, так и для атрибутов (и в основном для всех других представлений XML).
Я не думаю, что у вас есть источник для этого требования? Например, стандарт XML определяет термин «элемент», являющийся либо пустым тегом элемента, либо всем, начиная от начального тега и заканчивая конечным тегом. Начальный тег и пустой тег элемента не должны иметь никаких элементов. Оба ваших примера являются элементами. Термин «узел» определен в другом месте, в DOM, который относится к объектной модели, а не к самому тексту.
скайкинг
-7
узел и элемент одинаковы. Каждый элемент является узлом, но не каждый узел должен быть элементом.
Поскольку «не каждый узел должен быть элементом», утверждение «узел и элемент одинаковы» неверно.
glglgl
1
Кроме того, ваше описание неверно, оно не очень полезно. Единственное, в чем вы правы, так это в том, что между терминами есть некоторая разница, но вопрос в том, какая разница.
Ответы:
Объект 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
то, что состоит из начального тега и конечного тега, а также содержимого между ними или, альтернативно, пустого тега элемента (который не имеет содержимого или конечного тега). Другими словами, это все элементы:Хотя вы слышите, что «узел» используется примерно с таким же значением, у него нет точного определения для спецификаций 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, но с дополнительными элементами, такими как атрибуты.
источник
узел и элемент одинаковы. Каждый элемент является узлом, но не каждый узел должен быть элементом.
источник