XML DOM Reemplazar nodos
El método replaceChild() reemplaza un nodo especificado.
La propiedad nodeValue reemplaza el texto en un nodo de texto.
Pruébelo usted mismo - Ejemplos
Los ejemplos a continuación usan el archivo XML books.xml .
Este ejemplo usa replaceChild() para reemplazar el primer nodo <book>.
Este ejemplo usa la propiedad nodeValue para reemplazar datos en un nodo de texto.
Reemplazar un nodo de elemento
El método replaceChild() se usa para reemplazar un nodo.
El siguiente fragmento de código reemplaza el primer elemento <book>:
Ejemplo
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
Ejemplo explicado:
- Cargue " books.xml " en xmlDoc
- Crear un nuevo nodo de elemento <libro>
- Crear un nuevo nodo de elemento <título>
- Cree un nuevo nodo de texto con el texto "Un cuaderno"
- Agregue el nuevo nodo de texto al nuevo nodo de elemento <título>
- Agregue el nodo de elemento nuevo <título> al nodo de elemento nuevo <libro>
- Reemplace el primer nodo del elemento <libro> con el nuevo nodo del elemento <libro>
Reemplazar datos en un nodo de texto
El método replaceData() se usa para reemplazar datos en un nodo de texto.
El método replaceData() tiene tres parámetros:
- offset - Dónde comenzar a reemplazar caracteres. El valor de compensación comienza en cero
- longitud: cuántos caracteres reemplazar
- cadena - La cadena a insertar
Ejemplo
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Ejemplo explicado:
- Cargue " books.xml " en xmlDoc
- Obtenga el nodo de texto del primer nodo del elemento <title>
- Use el método replaceData para reemplazar los ocho primeros caracteres del nodo de texto con "Fácil"
Use la propiedad nodeValue en su lugar
Es más fácil reemplazar los datos en un nodo de texto usando la propiedad nodeValue.
El siguiente fragmento de código reemplazará el valor del nodo de texto en el primer elemento <title> con "Italiano fácil":
Ejemplo
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Ejemplo explicado:
- Cargue " books.xml " en xmlDoc
- Obtenga el nodo de texto del primer nodo del elemento <title>
- Use la propiedad nodeValue para cambiar el texto del nodo de texto
Puede obtener más información sobre cómo cambiar los valores de los nodos en el capítulo Cambiar nodo .