2010-02-03 3 views
5

Ayant écrit du code qui fonctionne sur XML pendant un moment, je me suis toujours demandé quelle était la raison pour laquelle on avait à la fois des nœuds et des éléments? (Nous savons what the differences are). Les deux représentent des étiquettes (plus ou moins) et ont des méthodes différentes, ce qui complique le code.Pourquoi les nœuds et les éléments sont-ils différents en XML? Quelle était la raison?

Y a-t-il des sémantiques spéciales ou des raisons pratiques, ou est-ce simplement le fait que la spécification DOM a été générée par un comité?

+1

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

+0

ce n'est pas un doublon. Je soupçonne que les personnes qui ont fermé cet article n'ont pas lu la question. Le titre est un doublon, le contenu ne l'est pas. En bref, il demande * pourquoi * les idées de Nœud et d'Élément existent en tant que choses disctinct, pas * quoi * la différence est. – bharal

Répondre

9

Node est une classe de base de l'élément - à peu près tout dans un document XML est un nœud, par exemple:

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

Dans l'exemple ci-dessus:

  • <!ENTITY...> est une entité
  • <xml ... est un élément
  • a="myAttribute" est un attribut
  • SomeText est un nœud de texte
  • <!-- A comment --> est un commentaire

Toutes les Hériter ci-dessus de nœud, en fait, dans l'exemple ci-dessus myAttribute est également un nœud de texte.

6

Le noeud est plus générique que l'élément. Découvrez this page pour toutes les différentes «choses» qu'un nœud peut représenter. Un élément est juste une de ces possibilités, qui correspond aux étiquettes. Il est important de souligner que les nœuds ne représentent généralement pas les balises XML.

Par exemple, <a>blah</a> contient deux nœuds. Le premier est un «élément» représentant la balise <a>, le second est un nœud de texte contenant «blah».

2

Ils ne représentent pas les deux balises. Un élément représente un nœud qui commence par une balise de début et se termine par une balise de fin. Un élément est un nœud mais un nœud n'est pas nécessairement un élément. Par exemple les noeuds peuvent être:

  • éléments
  • Les données textuelles
  • Commentaires
Questions connexes