Claro que eche un vistazo a w3c . El modelo de datos es fácil de entender, ¡incluso para mí!
xtofl
15
Gran comentario de los foros.asp.net/t/443912.aspx/1#443940 : lo mismo que entre fruta y manzana. Cada XmlElement es XmlNode, pero no todos los XmlNode son XmlElement. XmlElement es solo un tipo de XmlNode. Otros son XmlAttribute, XmlText, etc.
atconway
2
Un Elemento es parte de la definición formal de un documento XML bien formado, mientras que un nodo se define como parte del Modelo de Objetos del Documento para procesar documentos XML.
Jool
Respuestas:
259
El objeto Node es el tipo de datos primario para todo el DOM.
Un nodo puede ser un nodo de elemento, un nodo de atributo, un nodo de texto o cualquier otro tipo de nodo explicado en el capítulo "Tipos de nodo".
Un elemento XML es todo, desde (incluida) la etiqueta de inicio del elemento hasta (incluida) la etiqueta final del elemento.
Ahora que entiendo la respuesta ... La convención es estúpida. Las palabras deben ser al revés. En inglés natural, un "elemento" es algo que es el bloque de construcción más básico, del cual se construye todo lo demás. es decir, un elemento en inglés natural es más general ...
Sam Svenbjorgchristiensensen
11
@Juan Mendes: Eso es lo que son según el DOM, pero el punto de Sam es que el DOM considera los nodos más básicos (primitivos) que los elementos, cuando "elemento" en realidad se refiere al bloque de construcción más básico en inglés.
BoltClock
16
@SamSvenbjorgchristiensensen eso no es del todo exacto. Los elementos se pueden dividir aún más en 'partes constituyentes' como protones, neutrones y electrones, que a su vez se pueden dividir en quarks, neutrinos, etc. Es mejor entender qué significa un 'nodo' en la teoría de grafos , y luego Comprenda por qué los diseñadores XML eligieron ese nombre (el DOM es solo un gráfico jerárquico).
Les Hazlewood
20
@LesHazlewood En realidad, la palabra "elemento" se utiliza para describir los elementos físicos (hidrógeno, helio, etc.), ya que hicieron pensar estas cosas eran indivisibles. Solo mucho después descubrieron que estaban equivocados, demasiado tarde para cambiar el nombre; ) Estoy de acuerdo con Sam, la forma en que nombraron y diferenciaron los elementos dom frente a los nodos es confusa y mal pensada (como lo es la mayor parte de la especificación html).
BT
3
@BT, su argumento se sostendría si el comité de especificaciones XML viviera en la antigua Grecia :) No lo hicieron, y como tal, la definición moderna (diccionario) de elemento que (claramente) representa partes constituyentes tiene sentido. Agregue eso con el conocimiento de la teoría de grafos de los nodos, y realmente no hay mucho espacio para la interpretación.
Les Hazlewood
68
Las diferentes especificaciones del W3C definen diferentes conjuntos de tipos de "Nodo".
Por lo tanto, la especificación DOM define los siguientes tipos de nodos:
Document- Element(máximo de uno), ProcessingInstruction,
Comment,DocumentType
Un nodo es una parte del árbol DOM, un elemento es un tipo particular de nodo
p.ej
<foo> This is Text </foo>
Tiene un elemento foo (que también es un nodo, ya que Element lo hereda del nodo) y un nodo de texto 'This is Text', que es un elemento secundario del elemento foo / nodo
Este breve ejemplo me da más comprensión que la respuesta seleccionada.
KMC
27
Un nodo puede ser un número de diferentes tipos de cosas: un texto, un comentario, un elemento, una entidad, etc. Un elemento es un tipo particular de nodo.
Como se describe en las diversas especificaciones XML , un elementes el que consiste en una etiqueta de inicio y una etiqueta de finalización, y el contenido intermedio, o alternativamente una etiqueta de elemento vacía (que no tiene contenido ni etiqueta de finalización). En otras palabras, estos son todos los elementos:
Aunque escuche "nodo" usado con aproximadamente el mismo significado, no tiene una definición precisa por especificaciones XML. Por lo general, se usa para referirse a nodos de cosas como DOM, que pueden estar estrechamente relacionados con XML o usar XML para su representación.
Un documento xml está hecho de elementos anidados. Un elemento comienza en su etiqueta de apertura y termina en su etiqueta de cierre . Probablemente te hayan visto <body>y </body>en html. Todo entre las etiquetas de apertura y cierre es el contenido del elemento . Si un elemento se define mediante una etiqueta de cierre automático (p. Ej. <br/>), Entonces su contenido está vacío.
Abrir etiquetas también puede especificar atributos , por ejemplo. <p class="rant">. En este ejemplo, el nombre del atributo es 'clase' y su valor 'rant'.
El lenguaje XML no tiene tal cosa como un 'nodo' . Lea la especificación , la palabra no aparece.
Algunas personas usan la palabra 'nodo' informalmente para significar elemento, lo cual es confuso porque algunos analizadores también le dan a la palabra un significado técnico (identificando 'nodos de texto' y 'nodos de elemento'). El significado exacto depende del analizador, por lo que la palabra está mal definida a menos que indique qué analizador está utilizando. Si te refieres a elemento, di 'elemento' .
La palabra sí aparece: "(es decir, cada nodo de hoja en el árbol de sintaxis para la expresión regular)". Está en un apéndice no normativo, pero sin embargo ocurre. Allí el término se usa como nodo en el árbol de análisis.
Skyking
Incluso si se considera que la definición XML no menciona nodos, el Modelo de Objeto de Documento (DOM) definido para la interpretación programática y la manipulación de XML (por la misma organización de estándares) define y usa el término "nodo". Esta respuesta no ayuda a diferenciar los términos y no ayuda a ignorar los diferentes usos al afirmar que significan lo mismo.
C Perkins
9
Un nodo es la clase base tanto para los elementos como para los atributos (y básicamente para todas las demás representaciones XML también).
¿No asumo que tienes alguna fuente para este reclamo? Por ejemplo, el estándar XML define el término "elemento" como una etiqueta de elemento vacía o todo, desde la etiqueta de inicio hasta la etiqueta de finalización. Una etiqueta de inicio y una etiqueta de elemento vacío no necesitan tener ningún elemento. Sus dos ejemplos son elementos. El término "nodo" se define en otra parte, en DOM, que se trata de un modelo de objeto y no en el texto en sí.
Skyking
-7
nodo y elemento son iguales. Cada elemento es un nodo, pero no es que cada nodo deba ser un elemento.
Como "no es que cada nodo deba ser un elemento", la afirmación "nodo y elemento son iguales" está equivocada.
glglgl
1
Además de que su descripción es incorrecta, tampoco es muy útil. Lo único correcto es que hay alguna diferencia entre los términos, pero la pregunta era qué diferencia hay.
Respuestas:
El objeto Node es el tipo de datos primario para todo el DOM.
Un nodo puede ser un nodo de elemento, un nodo de atributo, un nodo de texto o cualquier otro tipo de nodo explicado en el capítulo "Tipos de nodo".
Un elemento XML es todo, desde (incluida) la etiqueta de inicio del elemento hasta (incluida) la etiqueta final del elemento.
fuente
Las diferentes especificaciones del W3C definen diferentes conjuntos de tipos de "Nodo".
Por lo tanto, la especificación DOM define los siguientes tipos de nodos:
Document
-Element
(máximo de uno),ProcessingInstruction
,Comment
,DocumentType
DocumentFragment
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
DocumentType
-- sin hijosEntityReference
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
Element
-Element
,Text
,Comment
,ProcessingInstruction
,CDATASection
,EntityReference
Attr
-Text
,EntityReference
ProcessingInstruction
-- sin hijosComment
-- sin hijosText
-- sin hijosCDATASection
-- sin hijosEntity
-Element
,ProcessingInstruction
,Comment
,Text
,CDATASection
,EntityReference
Notation
-- sin hijosEl conjunto de información XML (utilizado por XPath) tiene un conjunto más pequeño de nodos:
XPath tiene los siguientes tipos de Nodo:
La respuesta a su pregunta " ¿Cuál es la diferencia entre un elemento y un nodo " es:
An element is a type of node. Many other types of nodes exist and serve different purposes.
fuente
Un nodo es una parte del árbol DOM, un elemento es un tipo particular de nodo
p.ej
<foo> This is Text </foo>
Tiene un elemento foo (que también es un nodo, ya que Element lo hereda del nodo) y un nodo de texto 'This is Text', que es un elemento secundario del elemento foo / nodo
fuente
Un nodo puede ser un número de diferentes tipos de cosas: un texto, un comentario, un elemento, una entidad, etc. Un elemento es un tipo particular de nodo.
fuente
Como se describe en las diversas especificaciones XML , un
element
es el que consiste en una etiqueta de inicio y una etiqueta de finalización, y el contenido intermedio, o alternativamente una etiqueta de elemento vacía (que no tiene contenido ni etiqueta de finalización). En otras palabras, estos son todos los elementos:Aunque escuche "nodo" usado con aproximadamente el mismo significado, no tiene una definición precisa por especificaciones XML. Por lo general, se usa para referirse a nodos de cosas como DOM, que pueden estar estrechamente relacionados con XML o usar XML para su representación.
fuente
Un documento xml está hecho de elementos anidados. Un elemento comienza en su etiqueta de apertura y termina en su etiqueta de cierre . Probablemente te hayan visto
<body>
y</body>
en html. Todo entre las etiquetas de apertura y cierre es el contenido del elemento . Si un elemento se define mediante una etiqueta de cierre automático (p. Ej.<br/>
), Entonces su contenido está vacío.Abrir etiquetas también puede especificar atributos , por ejemplo.
<p class="rant">
. En este ejemplo, el nombre del atributo es 'clase' y su valor 'rant'.El lenguaje XML no tiene tal cosa como un 'nodo' . Lea la especificación , la palabra no aparece.
Algunas personas usan la palabra 'nodo' informalmente para significar elemento, lo cual es confuso porque algunos analizadores también le dan a la palabra un significado técnico (identificando 'nodos de texto' y 'nodos de elemento'). El significado exacto depende del analizador, por lo que la palabra está mal definida a menos que indique qué analizador está utilizando. Si te refieres a elemento, di 'elemento' .
fuente
Un nodo es la clase base tanto para los elementos como para los atributos (y básicamente para todas las demás representaciones XML también).
fuente
Element es el único tipo de nodo que puede tener nodos y atributos secundarios.
El documento también tiene nodos secundarios, PERO
sin atributos, sin texto, exactamente un elemento secundario.
fuente
Un nodo se define como:
o como:
Ahora hay muchos tipos diferentes de nodos como un nodo de elementos, un nodo de atributo, etc.
fuente
Ahora lo sé, el elemento es uno de nodo
Todos los tipos de nodos aquí " http://www.w3schools.com/dom/dom_nodetype.asp "
El elemento está entre la etiqueta de inicio y el final en la etiqueta de finalización
Entonces el nodo de texto es un nodo, pero no un elemento.
fuente
Un elemento es un tipo de nodo al igual que los atributos, el texto, etc.
fuente
El elemento XML es un nodo XML pero con elementos adicionales como atributos.
fuente
nodo y elemento son iguales. Cada elemento es un nodo, pero no es que cada nodo deba ser un elemento.
fuente