XML DOM Cambiar valores de nodos


La propiedad nodeValue se usa para cambiar el valor de un nodo.

El método setAttribute() se usa para cambiar el valor de un atributo.


实例

Pruébalo - Ejemplos

Los siguientes ejemplos usan el archivo XML。
funciónloadXMLDoc(), ubicada en JavaScript externo, se usa para cargar el archivo XML.


Este ejemplo usa la propiedad nodeValue para cambiar el nodo de texto del primer elemento <title> en "books.xml".


Este ejemplo usa el método setAttribute() para cambiar el valor del atributo "category" del primer <book>.


Este ejemplo usa la propiedad nodeValue para cambiar el valor del atributo "category" del primer <book>.


Cambiar el valor de un elemento

En el DOM, cada componente es un nodo. Los nodos de elemento no tienen valor de texto.

El texto de un nodo de elemento se almacena en un nodo hijo. Ese nodo se llama nodo de texto.

La forma de cambiar el texto de un elemento es cambiar el valor de ese nodo hijo (nodo de texto).


Cambiar el valor de un nodo de texto

La propiedad nodeValue se puede usar para cambiar el valor de un nodo de texto.

El siguiente fragmento de código cambia el valor del nodo de texto del primer elemento <title>:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()para cargar "" en xmlDoc
  2. Obtener el nodo de texto del primer elemento <title>
  3. Cambiar el valor de ese nodo de texto a "Easy Cooking"

Iterar y cambiar el nodo de texto de todos los elementos <title>:


Cambiar el valor de un atributo

En el DOM, los atributos también son nodos. A diferencia de los nodos de elemento, los nodos de atributo tienen un valor de texto. I

La forma de cambiar el valor de un atributo es cambiar su valor de texto.

Esto se puede hacer usando el método setAttribute() o la propiedad nodeValue del nodo de atributo.


Cambiar atributos usando setAttribute()

El método setAttribute() cambia el valor de un atributo existente o crea un nuevo atributo.

El siguiente código cambia el atributo category del elemento <book>:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()para cargar "" en xmlDoc
  2. Obtener el primer elemento <book>
  3. Cambiar el valor del atributo "category" a "food"

Iterar todos los elementos <title> y agregar un nuevo atributo:

Nota:Si el atributo no existe, se crea un nuevo atributo (con el nombre y valor especificados).


Cambiar atributos usando nodeValue

La propiedad nodeValue se puede usar para cambiar el valor de un nodo de atributo:

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";

Pruébalo »

Explicación del ejemplo:

  1. UsarloadXMLDoc()para cargar "" en xmlDoc
  2. Obtener el atributo "category" del primer elemento <book>
  3. Cambiar el valor de ese nodo de atributo a "food"

Otras extensiones