Nœuds DOM XML

According to XML DOM, all content in an XML document isNode) :

  • The entire document is a document node
  • Each XML element is an element node
  • The text in an XML element is a text node
  • Each attribute is an attribute node
  • Comments belong to comment nodes

DOM Example

Please see the following XML file (books.xml) :

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <press>江苏文艺出版社</press>
  <year>2013</year>
  <price>35</price>
  <ISBN>9787539962771</ISBN>
</book>
<book category="children">
  <title lang="zh"> Le père renard formidable</title>
  <author> Roald Dahl</author>
  <translator> Dai Wei</translator>
  <press>Éditions mingtian</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="文学">
  <title lang="zh"> De familier à inconnu</title>
  <author> Zigmund Bauman</author>
  <author> Peter Hafner</author>
  <translator> Wang Liqiu</translator>
  <press>Université de Nanjing Press</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="科学">
  <title lang="zh"> Tu veux voler, comme un oiseau ?</title>
  <author> Richard Dawkins</author>
  <author> Yan'a Renzuo</author>
  <translator> Gao Tianyu</translator>
  <press>Éditions scientifiques de Hunan</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="政治" cover="平装">
  <title lang="zh"> Sur la démocratie américaine</title>
  <author> Tocqueville</author>
  <translator> Dong Guoliang</translator>
  <press>Imprimerie commerciale</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

Dans le XML ci-dessus, le noeud racine est <bookstore>.

Tous les autres nœuds du document sont inclus dans <bookstore>.

Le noeud racine <bookstore> possède 5 noeuds <book>.

Le premier <book> noeud contient 6 sous-nœuds : <title>, <author>, <press>, <year>, <price> et <ISBN>.

Chaque noeud enfant contient un noeud texte :

  • "雅舍谈吃"
  • "梁实秋"
  • "江苏文艺出版社"
  • "2012"
  • "48.00"
  • "9787100011105"

Le texte est toujours stocké dans les noeuds texte

Une erreur courante dans le traitement DOM est de croire que les éléments contiennent du texte.

Cependant, le texte des éléments est stocké dans les noeuds texte.

Dans cet exemple :<year>2013</year>,l'élément noeud <year> contient un noeud texte de valeur "2012".

"2012" Non La valeur de l'élément <year> !

Arbre de nœuds XML DOM

XML DOM perçoit le document XML comme une structure en arbre. Cette structure en arbre est appeléeArbre de nœuds.

On peut accéder à tous les noeuds à travers cet arbre. On peut modifier ou supprimer leur contenu, ou créer de nouveaux éléments.

Ce noeud arbre montre la collection de noeuds et leurs relations. Cet arbre commence par le noeud racine, puis pousse des branches vers les noeuds de niveau inférieur du bas vers le haut :

Arbre de nœuds DOM

L'image ci-dessus représente le fichier XML books.xml.

Nœuds parent, enfant et frère

Les noeuds dans l'arbre de nœuds ont des relations hiérarchiques entre eux.

Les termes «parent», «enfant» et «frère» sont utilisés pour décrire cette relation. Le noeud parent a des enfants. Les enfants situés au même niveau sont appelés noeuds frères ou noeuds同级 (frères ou sœurs).

  • Dans l'arbre de nœuds, le noeud en haut est appelé noeud racine
  • À l'exception du noeud racine, chaque noeud a un seul noeud parent
  • Les noeuds peuvent avoir un nombre quelconque de noeuds enfants
  • Les feuilles sont des noeuds sans noeuds enfants
  • Les noeuds frères sont des noeuds qui partagent le même noeud parent

L'image suivante montre une partie de l'arbre de nœuds et les relations entre les nœuds :

Arbre de nœuds DOM

Comme les données XML sont construites sous forme d'arbre, elles peuvent être parcourues sans connaître la structure exacte de l'arbre ni le type de données qu'il contient.

Vous apprendrez plus sur la navigation dans l'arbre de nœuds dans les chapitres ultérieurs de ce tutoriel.

Commentaires :Nœud parent : Node Parent, noeud enfant : Node Enfant, noeud同级 : Node Frère ou Sœur.

Premier noeud - Dernier noeud

Veuillez consulter le fragment XML suivant :

<bookstore>
  <book category="美食">
    <title lang="zh">雅舍谈吃</title>
    <author>梁实秋</author>
	<press>江苏文艺出版社</press>
    <year>2013</year>
    <price>35</price>
	<ISBN>9787100011105</ISBN>
  </book>
</bookstore>

Dans le XML ci-dessus, l'élément <title> est le premier noeud enfant de l'élément <book>, et l'élément <ISBN> est le dernier noeud enfant de l'élément <book>.

De plus, l'élément <book> est le parent des éléments <title>, <author>, <year>, <press>, <price> et <ISBN>.