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
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()para cargar "" en xmlDoc
- Obtener el nodo de texto del primer elemento <title>
- 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
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("category","food");
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()para cargar "" en xmlDoc
- Obtener el primer elemento <book>
- 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
x=xmlDoc.getElementsByTagName("book")[0]
y=x.getAttributeNode("category");
y.nodeValue="food";
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()para cargar "" en xmlDoc
- Obtener el atributo "category" del primer elemento <book>
- Cambiar el valor de ese nodo de atributo a "food"
Otras extensiones