2010-02-03 20 views
5

Después de haber estado escribiendo código que opera en XML por un tiempo, siempre me he preguntado ¿cuál es el motivo para tener tanto Nodos como Elementos? (Sabemos what the differences are). Ambos representan etiquetas (más o menos) y tienen diferentes métodos, solo complican el código.¿Por qué los nodos y los elementos son diferentes en XML? ¿Cuál fue el razonamiento?

¿Hay alguna semántica especial o razones prácticas, o es simplemente el hecho de que la especificación DOM fue creada por el comité?

+1

duplicado - http://stackoverflow.com/questions/132564/whats-the-difference-between-an -element-and-a-node-in-xml – MicTech

+0

esto no es un duplicado. Sospecho que las personas que cerraron este artículo no leyeron la pregunta. El título es un duplicado, el contenido no. En resumen, está preguntando * por qué * las ideas de Nodo y Elemento existen como cosas claras, no * cuál * es la diferencia. – bharal

Respuesta

9

Nodo es una clase base del elemento - casi todo en un documento XML es un nodo, por ejemplo:

<!ENTITY...> 
<xml a="myAttribute"> 
    SomeText 
    <!-- A comment --> 
</xml> 

En el ejemplo anterior:

  • <!ENTITY...> es una entidad
  • <xml ... es un elemento
  • a="myAttribute" es un atributo
  • SomeText es un nodo de texto
  • <!-- A comment --> es un comentario

Todo el heredan por encima del Nodo, de hecho en el ejemplo anterior myAttribute es también un nodo de texto.

6

El nodo es más genérico que el elemento. Consulte this page para conocer las diferentes 'cosas' que un Nodo puede representar. Un elemento es solo una de esas posibilidades, que corresponde a las etiquetas. Es importante destacar que los nodos generalmente no representan etiquetas XML.

Por ejemplo, <a>blah</a> contiene dos nodos. El primero es un 'elemento' que representa la etiqueta <a>, el segundo es un nodo de texto que contiene "blah".

2

No representan ambas etiquetas. Un elemento representa un nodo que comienza con una etiqueta de inicio y termina con una etiqueta de finalización. Un elemento es un nodo pero un nodo no es necesariamente un elemento. Por ejemplo nodos pueden ser:

  • Elementos
  • Los datos de texto
  • Comentarios
Cuestiones relacionadas