XML DOM Agregar nodos
Pruébalo - Ejemplo
El siguiente ejemplo utiliza un archivo XML。
funciónloadXMLDoc(), ubicada en JavaScript externo, para cargar el archivo XML.
Este ejemplo utiliza el método appendChild() para agregar un nodo hijo a un nodo existente.
Este ejemplo utiliza el método insertBefore() para insertar un nodo antes de un nodo hijo especificado.
Este ejemplo utiliza el método setAttribute() para agregar un nuevo atributo.
Este ejemplo utiliza insertData() para insertar datos en un nodo de texto existente.
Agregar nodos - appendChild()
El método appendChild() agrega un nodo hijo a un nodo existente.
El nuevo nodo se agregará (añadirá) después de cualquier nodo hijo existente.
Nota:Si la posición del nodo es importante, utilice el método insertBefore().
El siguiente fragmento de código crea un elemento (<edition>) y lo agrega después del último nodo hijo del primer elemento <book>:
Ejemplo
newel=xmlDoc.createElement("edition");
x=xmlDoc.getElementsByTagName("book")[0];
x.appendChild(newel);
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()cargar "" en xmlDoc
- Crear un nuevo nodo <edition>
- Agregar este nodo al primer elemento <book>
Recorrer y agregar un elemento a todos los elementos <book>:
Insertar nodos - insertBefore()
El método insertBefore() se utiliza para insertar un nodo antes del nodo hijo especificado.
Este método es útil cuando la posición del nodo que se agrega es importante:
Ejemplo
newNode=xmlDoc.createElement("book");
x=xmlDoc.documentElement;
y=xmlDoc.getElementsByTagName("book")[3];
x.insertBefore(newNode,y);
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()cargar "" en xmlDoc
- Crear un nuevo nodo de elemento <book>
- Insertar este nuevo nodo antes del último nodo de elemento <book>
Si el segundo parámetro de insertBefore() es null, el nuevo nodo se agregará después del último nodo hijo existente.
x.insertBefore(newNode,null)yx.appendChild(newNode)Ambos pueden agregar un nuevo nodo hijo a x.
Agregar un nuevo atributo
El método addAtribute() no existe.
Si el atributo no existe, setAttribute() puede crear un nuevo atributo:
Ejemplo
x=xmlDoc.getElementsByTagName('book');
x[0].setAttribute("edition","first");
Pruébalo »
Explicación del ejemplo:
- UsarloadXMLDoc()cargar "" en xmlDoc
- Establecer (crear) el valor del atributo "edition" del primer elemento <book> como "first"
Nota:Si el atributo ya existe, el método setAttribute() sobrescribirá el valor existente.
Agregar texto a un nodo de texto - insertData()
El método insertData() inserta datos en un nodo de texto existente.
El método insertData() tiene dos parámetros:
- offset - dónde comenzar a insertar caracteres (comienza en 0)
- string - la cadena a insertar
El siguiente fragmento de código agregará "Easy" al nodo de texto del primer elemento <title> del XML cargado:
Ejemplo
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.insertData(0,"Easy ");
Pruébalo »
Otras extensiones