Agregar nodo XML DOM
- Página anterior Creación de nodos de DOM
- Página siguiente Nodo clonado de DOM
Ejemplo
El siguiente ejemplo utiliza archivos XML books.xml.
Función loadXMLDoc()Ubicado en JavaScript externo, se utiliza para cargar archivos XML.
- Agregar un nodo después del último nodo hijo
- Este ejemplo utiliza el método appendChild() para agregar un nodo hijo a un nodo existente.
- Agregar un nodo antes del nodo hijo especificado
- Este ejemplo utiliza el método insertBefore() para insertar un nodo antes de un nodo hijo especificado.
- Agregar una nueva propiedad
- Este ejemplo utiliza el método setAttribute() para agregar una nueva propiedad.
- Agregar datos a un nodo de texto
- Este ejemplo utiliza insertData() para insertar datos en un nodo de texto existente.
Agregar nodo - appendChild()
El método appendChild() agrega un nodo hijo a un nodo existente.
El nuevo nodo se agregará (se añadirá) después de cualquier nodo hijo existente.
Nota:Si la posición del nodo es importante, utilice el método insertBefore().
El fragmento de código siguiente crea un elemento (<edition>) y lo agrega después del último nodo hijo del primer elemento <book>.
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Ejemplo de explicación:
- Al usar loadXMLDoc() Añadir "books.xmlCargar en xmlDoc
- Crear un nuevo nodo <edition>.
- Agregar este nodo al primer elemento <book>.
Bucle y agregar un elemento a todos los elementos <book>:TIY
Insertar nodo - insertBefore()
El método insertBefore() se utiliza para insertar un nodo antes del nodo hijo especificado.
Este método es muy útil cuando la posición del nodo agregado es importante.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Ejemplo de explicación:
- Al usar loadXMLDoc() Añadir "books.xmlCargar en xmlDoc
- Crear un nuevo nodo de elemento <book>.
- Insertar este nodo antes del último 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) y x.appendChild(newNode) pueden agregar un nuevo nodo hijo a x.
Agregar una nueva propiedad
El método addAtribute() no existe.
Si el atributo no existe, el método setAttribute() puede crear un nuevo atributo:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Ejemplo de explicación:
- Al usar loadXMLDoc() Añadir "books.xmlCargar 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 - En qué posición comenzar a insertar caracteres (comienza en 0)
- string - La cadena a insertar
El siguiente fragmento de código agregará "Easy" al primer nodo de texto del elemento <title> XML ya cargado:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Página anterior Creación de nodos de DOM
- Página siguiente Nodo clonado de DOM