Dans les DOM, tout dans un document XML est un nœud.
DOM Nodes
Selon le DOM, tout dans un document XML est un node .
Le DOM dit:
- L'ensemble du document est un nœud de document
- Chaque élément XML est un nœud d'élément
- Le texte dans les éléments XML sont des nœuds de texte
- Chaque attribut est un nœud d'attribut
- Les commentaires sont nœuds de commentaire
DOM Exemple
Regardez le fichier XML suivant ( books.xml ):
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Le nœud racine dans le XML ci - dessus est nommé <bookstore> . Tous les autres noeuds dans le document sont contenus dans <bookstore> .
Le noeud racine <bookstore> détient quatre <book> nœuds.
Le premier <book> noeud détient quatre nœuds: <title>, <author>, <year> , et <price> , qui contient un nœud de texte chaque, "Everyday Italian", "Giada De Laurentiis" , "2005" , et "30.00" .
Le texte est toujours stocké dans les nœuds de texte
Une erreur courante dans le traitement DOM est d'attendre un nœud d'élément pour contenir le texte.
Toutefois, le texte d'un nœud d'élément est stocké dans un noeud de texte.
Dans cet exemple: <year>2005</year> , le nœud de l' élément <year> , est titulaire d' un nœud de texte avec la valeur "2005" .
"2005" est not la valeur de la <year> élément!
Le XML DOM Node Arbre
Le XML DOM considère un document XML comme une arborescence. La structure d'arbre est appelé un node-tree.
Tous les nœuds sont accessibles à travers l'arbre. Leurs contenus peuvent être modifiés ou supprimés, et de nouveaux éléments peuvent être créés.
L'arbre de noeud montre l'ensemble des noeuds, et les liens entre eux. L'arbre commence au nœud racine et des branches sur les nœuds de texte au niveau le plus bas de l'arbre:
L'image ci - dessus représente le fichier XML books.xml .
Les parents de nœud, les enfants et frères et sœurs
Les noeuds dans l'arborescence de noeuds ont une relation hiérarchique les unes aux autres.
Les termes parent, enfant, frère et sont utilisés pour décrire les relations. nœuds parents ont des enfants. Les enfants sur le même niveau sont appelés frères et sœurs (brothers or sisters) .
- Dans un arbre de nœud, le nœud supérieur est appelé la racine
- Chaque nœud, sauf la racine, a noeud exactement un parent
- Un nœud peut avoir un nombre quelconque d'enfants
- Une feuille est un noeud sans enfant
- Les frères et sœurs sont des noeuds avec le même parent
L'image suivante illustre une partie de l'arbre de noeud et la relation entre les noeuds:
Parce que les données XML est structuré sous forme d'arbre, il peut être traversé sans connaître la structure exacte de l'arbre et sans connaître le type de données contenues dans.
Vous en apprendrez plus sur traversant l'arbre de noeud dans un chapitre ultérieur de ce tutoriel.
Premier enfant - Last Child
Regardez le fragment XML suivant:
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
Dans le XML ci - dessus, le <title> élément est le premier enfant du <book> élément, et le <price> élément est le dernier enfant du <book> élément.
En outre, le <book> élément est le nœud parent du <title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.