Cambio de valores de nodo XML DOM
- Página anterior Obtención de nodos DOM
- Página siguiente Eliminación de nodos DOM
La propiedad nodeValue se utiliza para cambiar el valor del nodo.
El método setAttribute() se utiliza para cambiar el valor del atributo.
Ejemplo
El siguiente ejemplo utiliza un archivo XML books.xml.
Función loadXMLDoc()ubicado en JavaScript externo, se utiliza para cargar archivos XML.
- Cambiar el nodo de texto del elemento
- Este ejemplo utiliza la propiedad nodeValue para cambiar el nodo de texto del primer elemento <title> en "books.xml".
- Al usar setAttribute para cambiar el valor del atributo
- Este ejemplo utiliza el método setAttribute() para cambiar el valor del atributo "category" del primer <book>.
- Al usar nodeValue para cambiar el valor del atributo
- Este ejemplo utiliza la propiedad nodeValue para cambiar el valor del atributo "category" del primer <book>.
Cambiar el valor del elemento
En el DOM, cada componente es un nodo. Los nodos de elemento no tienen valor de texto.
El texto del nodo de elemento se almacena en subnodos. Este nodo se llama nodo de texto.
El método para cambiar el texto del elemento es cambiar el valor de este subnodo (nodo de texto).
Cambiar el valor del nodo de texto
La propiedad nodeValue se puede usar para cambiar el valor del nodo de texto.
El siguiente fragmento de código cambia el valor del nodo de texto del primer elemento <title>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
Ejemplo de explicación:
- Al usar loadXMLDoc() Cambia "books.xml"Cargar xmlDoc"
- Obtener el nodo de texto del primer elemento <title>
- Cambiar el valor del nodo de texto de este texto al "Hello World"
Recorrer y cambiar todos los nodos de texto de los elementos <title>:TIY
Cambiar el valor del 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.
El método para cambiar el valor del atributo es cambiar su valor de texto.
Se puede completar esta tarea utilizando el método setAttribute() o el atributo nodeValue del nodo de atributo.
Al usar setAttribute() para cambiar el atributo
El método setAttribute() establece el valor de un atributo existente o crea un nuevo atributo.
El siguiente código cambia la propiedad category del elemento <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("category","child");
Ejemplo de explicación:
- Al usar loadXMLDoc() Cambia "books.xml"Cargar xmlDoc"
- Obtener el primer elemento <book>
- Cambia el valor del atributo "category" a "child"
Recorrer todos los <title> y agregar un nuevo atributo:TIY
Notas:Si el nodo de atributo no existe, se crea un nuevo atributo (con el nombre y el valor especificados).
Cambia el atributo usando nodeValue
La propiedad nodeValue se puede usar para cambiar el valor del nodo de atributo:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0] y=x.getAttributeNode("category"); y.nodeValue="child";
Ejemplo de explicación:
- Al usar loadXMLDoc() Cambia "books.xml"Cargar xmlDoc"
- Obtener el atributo "category" del primer elemento <book>
- Cambia el valor del nodo de atributo a "child"
- Página anterior Obtención de nodos DOM
- Página siguiente Eliminación de nodos DOM