Reemplazo de nodos XML DOM
- Página anterior Eliminación de nodos DOM
- Página siguiente Creación de nodos DOM
El método replaceChild() reemplaza el nodo especificado.
La propiedad nodeValue reemplaza el texto del nodo de texto.
Ejemplo
El siguiente ejemplo utiliza un archivo XML books.xml.
Función loadXMLDoc(),ubicado en JavaScript externo, se utiliza para cargar archivos XML.
- Reemplazar el nodo de elemento
- En este ejemplo, se utiliza replaceChild() para reemplazar el primer nodo <book>.
- Reemplazar los datos del nodo de texto
- En este ejemplo, se utiliza la propiedad nodeValue para reemplazar los datos del nodo de texto.
Reemplazar el nodo de elemento
El método replaceChild() se utiliza para reemplazar los nodos.
El siguiente fragmento de código reemplaza el primer elemento <book>:
xmlDoc=loadXMLDoc("books.xml"); x = xmlDoc.documentElement; //Crear un elemento book, un elemento title y un nodo de texto newNode = xmlDoc.createElement("book"); newTitle = xmlDoc.createElement("title"); newText = xmlDoc.createTextNode("Hello World"); //Añadir el nodo de texto al nodo title newTitle.appendChild(newText); //Añadir el nodo title al nodo book newNode.appendChild(newTitle); y = xmlDoc.getElementsByTagName("book")[0]; //Usar este nuevo nodo para reemplazar el primer nodo book x.replaceChild(newNode, y);
Ejemplo de explicación:
- Usando loadXMLDoc() Coloca "books.xml"Cargar xmlDoc"
- Crear un nuevo nodo de elemento <book>
- Crear un nuevo nodo de elemento <title>
- Crear un nuevo nodo de texto con el texto "Hello World"
- Añadir este nuevo nodo de texto al nodo de elemento <title>
- Añadir este nuevo nodo de elemento <title> al nodo de elemento <book> nuevo
- Reemplazar el primer nodo de elemento <book> con un nuevo nodo de elemento <book>
Reemplazar los datos del nodo de texto
El método replaceData() se utiliza para reemplazar los datos del nodo de texto.
El método replaceData() tiene tres parámetros:
- offset - Donde comenzar a reemplazar los caracteres. El valor de offset comienza en 0.
- length - Cantidad de caracteres a reemplazar
- string - La cadena de caracteres a insertar
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.replaceData(0,8,"hello");
Ejemplo de explicación:
- Usando loadXMLDoc() Coloca "books.xml"Cargar xmlDoc"
- Obtener el texto del primer nodo <title>
- Usa el método replaceData para reemplazar los primeros 8 caracteres del texto del nodo de texto con "hello"
Usando la propiedad nodeValue
Es más fácil reemplazar el nodo de texto con la propiedad nodeValue.
El siguiente fragmento de código reemplazará el valor del nodo de texto del primer elemento <title> con "Easy Italian":
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="Hello World";
Ejemplo de explicación:
- Usando loadXMLDoc() Coloca "books.xml"Cargar xmlDoc"
- Obtener el texto del primer nodo <title>
- Usa la propiedad nodeValue para cambiar el texto de este nodo de texto
Puedes cambiar el texto de este nodo de texto usando la propiedad Cambiar nodo En esta sección, lee más sobre cómo cambiar el valor del nodo.
- Página anterior Eliminación de nodos DOM
- Página siguiente Creación de nodos DOM