Je travaille en Java avec XML et je me demande; quelle est la différence entre un élément et un nœud?
Je travaille en Java avec XML et je me demande; quelle est la différence entre un élément et un nœud?
Réponses:
L'objet Node est le type de données principal pour l'ensemble du DOM.
Un nœud peut être un nœud d'élément, un nœud d'attribut, un nœud de texte ou tout autre type de nœud expliqué dans le chapitre "Types de nœud".
Un élément XML est tout, de (y compris) la balise de début de l'élément à (y compris) la balise de fin de l'élément.
Différentes spécifications du W3C définissent différents ensembles de types de "nœuds".
Ainsi, la spécification DOM définit les types de nœuds suivants:
Document
- Element
(maximum d'une), ProcessingInstruction
,
Comment
,DocumentType
DocumentFragment
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
DocumentType
-- pas d'enfants
EntityReference
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Element
- Element
, Text
, Comment
, ProcessingInstruction
,
CDATASection
,EntityReference
Attr
- Text
,EntityReference
ProcessingInstruction
-- pas d'enfants
Comment
-- pas d'enfants
Text
-- pas d'enfants
CDATASection
-- pas d'enfants
Entity
- Element
, ProcessingInstruction
,
Comment
, Text
, CDATASection
,EntityReference
Notation
-- pas d'enfants L'ensemble d'informations XML (utilisé par XPath) possède un ensemble de nœuds plus petit:
XPath a les types de nœuds suivants:
La réponse à votre question " Quelle est la différence entre un élément et un nœud " est:
An element is a type of node. Many other types of nodes exist and serve different purposes.
Un nœud est une partie de l'arborescence DOM, un élément est un type particulier de nœud
par exemple
<foo> This is Text </foo>
Vous avez un élément foo, (qui est également un nœud, car l'élément hérite du nœud) et un nœud de texte 'This is Text', qui est un enfant de l'élément / nœud foo
Un nœud peut être un certain nombre de choses différentes: du texte, un commentaire, un élément, une entité, etc. Un élément est un type particulier de nœud.
Comme décrit dans les diverses spécifications XML , un element
est celui qui se compose d'une balise de début et d'une balise de fin, et le contenu entre les deux, ou alternativement une balise d'élément vide (qui n'a ni contenu ni balise de fin). En d'autres termes, ce sont tous des éléments:
<foo> stuff </foo>
<foo bar="baz"></foo>
<foo baz="qux" />
Bien que vous entendiez "nœud" utilisé avec à peu près la même signification, il n'a pas de définition précise selon les spécifications XML. Il est généralement utilisé pour faire référence à des nœuds d'éléments tels que les DOM, qui peuvent être étroitement liés à XML ou utiliser XML pour leur représentation.
Un document xml est composé d'éléments imbriqués. Un élément commence à sa balise d'ouverture et se termine à sa balise de fermeture . Vous êtes probablement vu <body>
et </body>
en html. Tout entre les balises d'ouverture et de fermeture est le contenu de l'élément . Si un élément est défini par une balise à fermeture automatique (par exemple <br/>
), son contenu est vide.
L'ouverture des balises peut également spécifier des attributs , par exemple. <p class="rant">
. Dans cet exemple, le nom de l'attribut est 'class' et sa valeur 'rant'.
Le langage XML n'a pas de «nœud» . Lisez la spécification , le mot ne se produit pas.
Certaines personnes utilisent le mot «nœud» de manière informelle pour signifier élément, ce qui prête à confusion car certains analyseurs donnent également au mot une signification technique (identifiant «nœuds de texte» et «nœuds d'élément»). La signification exacte dépend de l'analyseur, donc le mot est mal défini à moins que vous n'indiquiez quel analyseur vous utilisez. Si vous voulez dire élément, dites «élément» .
Un nœud est la classe de base pour les éléments et les attributs (et fondamentalement toutes les autres représentations XML également).
Un nœud est défini comme:
la plus petite unité d'une structure valide et complète dans un document.
ou comme:
Un objet dans l'arborescence qui sert de conteneur pour contenir des objets associés.
Maintenant, il existe de nombreux types de nœuds différents en tant que nœud d'éléments, nœud d'attribut, etc.
Maintenant je sais, l'élément est un nœud
Tous les types de nœuds ici " http://www.w3schools.com/dom/dom_nodetype.asp "
L'élément se situe entre la balise de début et la fin de la balise de fin
Le nœud de texte est donc un nœud, mais pas un élément.
Un élément est un type de nœud, tout comme les attributs, le texte, etc.
L'élément XML est un nœud XML mais avec des éléments supplémentaires comme des attributs.
<a>Lorem Ipsum</a> //This is a node
<a id="sample">Lorem Ipsum</a> //This is an element
le nœud et l'élément sont identiques. Chaque élément est un nœud, mais ce n'est pas que chaque nœud doit être un élément.