XML DOM cambiar el valor del nodo

nodeValue Las propiedades se utilizan para cambiar el valor del nodo.

setAttribute() El método se utiliza para cambiar el valor de las propiedades.

Cambiar el valor del elemento

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

El valor de texto del nodo de elemento se almacena en los nodos hijos. Este nodo se llama nodo de texto.

Para cambiar el valor de texto del elemento, es necesario cambiar el valor del nodo de texto del elemento.

Cambiar el valor del nodo de texto

nodeValue El atributo se puede usar para cambiarEl valor del nodo de texto.

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

Ejemplo 1

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "Cocina del mundo";

Pruebe usted mismo

Ejemplo de explicación:

  1. Supongamos books.xml Se carga en xmlDoc
  2. Obtener el primer nodo hijo del elemento <title>
  3. Cambiar el valor del nodo de texto de este texto al "Cocina del mundo"

Ejemplo 2

Recorrer en bucle y cambiar todos los nodos de texto de los elementos <title>:

for (i = 0; i < x.length; i++) {
    x[i].childNodes[0].nodeValue = "Texto cambiado";
}

Pruebe usted mismo

Cambiar el valor del atributo

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

El método para cambiar el valor del atributo es cambiar su valor de texto.

Se puede cambiar el valor del atributo utilizando setAttribute() Método o nodo atributo nodeValue Para completar esta tarea, se utiliza el atributo.

Usar setAttribute() para cambiar el atributo

setAttribute() MétodoEstablecer el valor de un atributo existenteoCrear un nuevo atributo.

setAttribute() El método puede cambiar el valor del atributo. Si el atributo no existe, se creará un nuevo atributo.

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

Ejemplo 1

xmlDoc.getElementsByTagName("book")[0].setAttribute("category","Cocina");

Pruebe usted mismo

Ejemplo de explicación:

  1. Supongamos books.xml se ha cargado a xmlDoc
  2. Obtener el primer elemento <book>
  3. Cambiar el valor del atributo "category" a "Cocina"

Ejemplo 2

Recorrer en bucle todos los elementos <title> y agregar un nuevo atributo:

x = xmlDoc.getElementsByTagName('title');
for (i = 0; i < x.length; i++) { 
    x[i].setAttribute("edition","Primera edición");    
}

Pruebe usted mismo

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

Usar nodeValue para cambiar el atributo

nodeValue El atributo esEl valor del nodo atributo.

cambiar nodeValue El atributo puede cambiar el valor del atributo.

Ejemplo

xmlDoc.getElementsByTagName("book")[0].getAttributeNode("category").nodeValue = "烹饪";

Pruebe usted mismo

Ejemplo de explicación:

  1. Supongamos books.xml se ha cargado a xmlDoc
  2. Obtener el atributo "category" del primer elemento <book>
  3. Cambiar el valor del nodo atributo a "cocinar"