Gli ultimi tutorial di sviluppo web
 

XML DOM Aggiungere nodi


Provate voi stessi - Esempi

Gli esempi di seguito utilizzano il file XML books.xml .

Aggiungere un nodo dopo l'ultimo nodo figlio
Questo esempio utilizza appendChild() per aggiungere un nodo figlio di un nodo esistente.

Aggiungere un nodo prima di un nodo figlio specificato
Questo esempio utilizza insertBefore() per inserire un nodo prima un nodo figlio specificato.

Aggiungere un nuovo attributo
Questo esempio utilizza il setAttribute() metodo per aggiungere un nuovo attributo.

Aggiungere dati a un nodo di testo
Questo esempio utilizza insertData() per inserire dati in un nodo di testo esistente.

×

Intestazione


Aggiungere un nodo - appendChild()

Il appendChild() metodo aggiunge un nodo figlio di un nodo esistente.

È aggiunto il nuovo nodo (appended) dopo eventuali nodi figlio esistenti.

Note: Utilizzare insertBefore() se la posizione del nodo è importante.

Questo frammento di codice crea un elemento (<edition>) , e lo aggiunge dopo l'ultimo figlio del primo <book> elemento:

Esempio

newEle = xmlDoc.createElement("edition");

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Prova tu stesso "

Esempio spiegato:

  1. Supponiamo " books.xml " viene caricato in xmlDoc
  2. Creare un nuovo nodo <edition>
  3. Aggiungere il nodo per la prima <book> elemento

Questo frammento di codice fa lo stesso come sopra, ma il nuovo elemento si aggiunge con un valore:

Esempio

newEle = xmlDoc.createElement("edition");
newText=xmlDoc.createTextNode("first");
newEle.appendChild(newText);

xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Prova tu stesso "

Esempio spiegato:

  1. Supponiamo " books.xml " viene caricato in xmlDoc
  2. Creare un nuovo nodo <edition>
  3. Creare un nuovo nodo di testo "first"
  4. Aggiungere il nodo di testo per il <edition> nodo
  5. Aggiungere il <addition> nodo al <book> elemento

Inserire un nodo - insertBefore()

Il insertBefore() metodo inserisce un nodo prima di un nodo figlio specificato.

Questo metodo è utile quando la posizione del nodo aggiunto è importante:

Esempio

newNode = xmlDoc.createElement("book");

x = xmlDoc.documentElement;
y = xmlDoc.getElementsByTagName("book")[3];

x.insertBefore(newNode,y);
Prova tu stesso "

Esempio spiegato:

  1. Supponiamo " books.xml " viene caricato in xmlDoc
  2. Creare un nuovo nodo elemento <book>
  3. Inserire il nuovo nodo di fronte l'ultimo <book> nodo elemento

Se il secondo parametro di insertBefore() è nullo, il nuovo nodo verrà aggiunto dopo l'ultimo nodo figlio esistente.

x.insertBefore(newNode,null) e x.appendChild(newNode) saranno entrambi aggiungere un nuovo nodo figlio di x.


Aggiungere un nuovo attributo

Il setAttribute() metodo imposta il valore di un attributo.

Esempio

xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","first");
Prova tu stesso "

Esempio spiegato:

  1. Supponiamo " books.xml " è stato caricato in xmlDoc
  2. Impostare il valore dell'attributo "edition" di "first" per la prima <book> elemento

Non esiste un metodo chiamato add Attribute()
Il setAttribute() creerà un nuovo attributo se l'attributo non esiste.

Note: Se l'attributo esiste già, il setAttribute() metodo sovrascrivere il valore esistente.


Aggiunta di testo a un nodo di testo - insertData()

Il insertData() metodo inserisce i dati in un nodo di testo esistente.

Il insertData() metodo ha due parametri:

  • Offset - Da dove cominciare caratteri inserimento (starts at zero)
  • String - La stringa da inserire

Il seguente frammento di codice aggiungerà "Easy" al nodo testo del primo <title> elemento del XML caricato:

Esempio

xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Easy ");
Prova tu stesso "