XML DOM Reemplazar nodos


El método replaceChild() reemplaza el nodo especificado.

La propiedad nodeValue reemplaza el texto en un nodo de texto.


实例

Pruébalo - Ejemplo

El siguiente ejemplo utiliza el archivo XML。
funciónloadXMLDoc(), ubicada en un JavaScript externo, para cargar el archivo XML.


Este ejemplo usa replaceChild() para reemplazar el primer nodo <book>.


Este ejemplo usa la propiedad nodeValue para reemplazar los datos en un nodo de texto.


Reemplazar nodos de elemento

El método replaceChild() se usa para reemplazar nodos.

El siguiente fragmento de código reemplaza el primer elemento <book>:

Ejemplo

xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement; //Crear un nuevo elemento book, un elemento title y un nodo. newNode=xmlDoc.createElement("book"); newTitle=xmlDoc.createElement("title"); newText=xmlDoc.createTextNode("A Notebook"); //Agregar el nodo de texto al nodo title. newTitle.appendChild(newText); //Agregar el nodo title al nodo book. newNode.appendChild(newTitle); y=xmlDoc.getElementsByTagName("book")[0] //Usar el nuevo nodo para reemplazar el primer nodo book. x.replaceChild(newNode,y);

Pruébalo »

Explicación del ejemplo:

  1. UseloadXMLDoc()para cargar "" en xmlDoc
  2. Crear un nuevo nodo de elemento <book>.
  3. Crear un nuevo nodo de elemento <title>.
  4. Crear un nuevo nodo de texto con el texto "A Notebook".
  5. Agregar este nuevo nodo de texto al nuevo nodo de elemento <title>.
  6. Agregar este nuevo nodo de elemento <title> al nuevo nodo de elemento <book>.
  7. Reemplazar el primer nodo de elemento <book> con el nuevo nodo de elemento <book>.

Reemplazar los datos en un nodo de texto

El método replaceData() se usa para reemplazar los datos en un nodo de texto.

El método replaceData() tiene tres parámetros:

  • offset: dónde comenzar a reemplazar caracteres. El valor de offset comienza en 0.
  • length: cuántos caracteres reemplazar
  • string: la cadena a insertar

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.replaceData(0,8,"Easy");

Pruébalo »

Explicación del ejemplo:

  1. UseloadXMLDoc()para cargar "" en xmlDoc
  2. Obtener el nodo de texto del primer nodo de elemento <title>.
  3. Usar el método replaceData para reemplazar los primeros 8 caracteres del nodo de texto con "Easy".

Usar la propiedad nodeValue en su lugar

Reemplazar los datos en un nodo de texto con la propiedad nodeValue es más fácil.

El siguiente fragmento de código reemplazará el valor del nodo de texto en el primer elemento <title> con "Easy Italian":

Ejemplo

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];

x.nodeValue="Easy Italian";

Pruébalo »

Explicación del ejemplo:

  1. UseloadXMLDoc()para cargar "" en xmlDoc
  2. Obtener el nodo de texto del primer nodo de elemento <title>.
  3. Usar la propiedad nodeValue para cambiar el texto de este nodo de texto.

Puede, en'Cambiar nodos', leer más sobre cómo cambiar los valores de los nodos.


Otras extensiones