Estoy trabajando en Java con XML y me pregunto; ¿Cuál es la diferencia entre un elemento y un nodo?
Estoy trabajando en Java con XML y me pregunto; ¿Cuál es la diferencia entre un elemento y un nodo?
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.
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 hijos
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
-- sin hijos
Comment
-- sin hijos
Text
-- sin hijos
CDATASection
-- sin hijos
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
-- sin hijos El 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.
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
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 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:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
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' .
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).
Un nodo se define como:
La unidad más pequeña de una estructura válida y completa en un documento.
o como:
Un objeto en la vista de árbol que sirve como contenedor para contener objetos relacionados.
Ahora hay muchos tipos diferentes de nodos como un nodo de elementos, un nodo de atributo, etc.
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.
Un elemento es un tipo de nodo al igual que los atributos, el texto, etc.
El elemento XML es un nodo XML pero con elementos adicionales como atributos.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
nodo y elemento son iguales. Cada elemento es un nodo, pero no es que cada nodo deba ser un elemento.