Nodos DOM XML

According to XML DOM, all content in an XML document isNodes

  • 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's book">
  <title lang="zh"> El padre conejo magnífico</title>
  <author> Roald Dahl</author>
  <translator> Dai Wei</translator>
  <press> Editorial Mingtian</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="literatura">
  <title lang="zh"> Convertir lo familiar en extraño</title>
  <author> Zygmunt Bauman</author>
  <author> Peter Haufler</author>
  <translator> Wang Lichou</translator>
  <press> Editorial de la Universidad de Nanjing</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="ciencia">
  <title lang="zh"> ¿Quieres volar, como un pájaro?</title>
  <author> Richard Dawkins</author>
  <author> Yana Renzova</author>
  <translator> Gao Tianyu</translator>
  <press> Editorial de Ciencia y Tecnología de Hunan</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="política" cover="rústica">
  <title lang="zh"> Ensayo sobre la democracia en América</title>
  <author> Tocqueville</author>
  <translator> Dong Guoliang</translator>
  <press> Editorial Comercial</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

En el XML anterior, el nodo raíz es <bookstore>.

Todos los demás nodos del documento están incluidos en <bookstore>.

El nodo raíz <bookstore> tiene 5 nodos <book>.

El primer <book> nodo contiene 6 nodos secundarios: <title>, <author>, <press>, <year>, <price> y <ISBN>.

Cada uno de los nodos hijos contiene un nodo de texto:

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

El texto siempre se almacena en los nodos de texto

Un error común en el procesamiento DOM es creer que los nodos de elemento contienen texto.

Sin embargo, el texto de los nodos de elemento se almacena en los nodos de texto.

En este ejemplo:<year>2013</year>,el nodo de elemento <year> contiene un nodo de texto con el valor "2012".

"2012" No es ¡El valor del elemento <year>!

Árbol de nodos de XML DOM

XML DOM considera el documento XML como una estructura de árbol. Esta estructura de árbol se llamaÁrbol de nodos.

Se puede acceder a todos los nodos de este árbol. Se puede modificar o eliminar su contenido, o crear nuevos elementos.

Este árbol de nodos muestra la colección de nodos y sus relaciones. Este árbol comienza en el nodo raíz y luego se ramifica hacia los nodos de texto en el nivel más bajo del árbol:

Árbol de nodos DOM

La imagen superior representa el archivo XML books.xml.

Nodos padre, hijo y hermano

Los nodos en el árbol de nodos tienen relaciones jerárquicas entre sí.

Los términos "padre", "hijo" y "hermano" se utilizan para describir esta relación. El nodo padre tiene nodos hijos. Los nodos hijos que están en el mismo nivel se llaman nodos同级 o nodos gemelos (hermanos o hermanas).

  • En el árbol de nodos, el nodo superior se llama nodo raíz
  • Además del nodo raíz, cada nodo tiene solo un nodo padre
  • Un nodo puede tener cualquier número de nodos hijos
  • Las hojas son los nodos sin nodos hijos
  • Los nodos gemelos son aquellos que comparten el mismo nodo padre

La siguiente imagen muestra una parte del árbol de nodos y las relaciones entre los nodos:

Árbol de nodos DOM

Dado que los datos XML se construyen en forma de árbol, se puede recorrer sin conocer la estructura exacta del árbol ni el tipo de datos que contiene.

Aprenderá más sobre cómo recorrer el árbol de nodos en los capítulos posteriores de este tutorial.

Comentarios:Nodo padre: Nodo Padre, Nodo hijo: Nodos Hijos, Nodos同级: Nodos Hermanos.

El primer nodo - El último nodo

Por favor, revise el siguiente fragmento XML:

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

En el XML anterior, el elemento <title> es el primer nodo hijo del elemento <book>, y el elemento <ISBN> es el último nodo hijo del elemento <book>.

Además, el elemento <book> es el nodo padre de los elementos <title>, <author>, <year>, <press>, <price> y <ISBN>.