Aggiunta del Node XML DOM
- Pagina precedente Creazione di un nodo DOM
- Pagina successiva Node DOM clonato
Esempio
Esempio di file XML utilizzato di seguito books.xml.
Funzione loadXMLDoc()Posizionato all'esterno del JavaScript, utilizzato per caricare file XML.
- Aggiungi un nodo dopo l'ultimo figlio.
- Questo esempio utilizza il metodo appendChild() per aggiungere un figlio a un nodo esistente.
- Aggiungi un nodo prima di un nodo figlio specificato
- Questo esempio utilizza il metodo insertBefore() per inserire un nodo prima di un nodo figlio specificato.
- Aggiungi una nuova proprietà
- Questo esempio utilizza il metodo setAttribute() per aggiungere una nuova proprietà.
- Aggiungi dati a un nodo di testo
- Questo esempio utilizza insertData() per inserire dati in un nodo di testo esistente.
Aggiungi nodo - appendChild()
Il metodo appendChild() aggiunge un figlio al nodo esistente.
Il nuovo nodo verrà aggiunto (aggiunto) dopo qualsiasi figlio esistente.
Nota:Se la posizione del nodo è importante, utilizzare il metodo insertBefore().
Il seguente frammento di codice crea un elemento (<edition>) e lo aggiunge dopo l'ultimo figlio dell'elemento <book>.
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Esempio di spiegazione:
- Utilizzando loadXMLDoc() Aggiungi "books.xmlCarica in xmlDoc
- Crea un nuovo nodo <edition>.
- Aggiungi questo nodo al primo elemento <book>.
Cicla e aggiungi un elemento a tutti gli elementi <book>:TIY
Inserisci nodo - insertBefore()
Il metodo insertBefore() viene utilizzato per inserire un nodo prima di un nodo figlio specificato.
Questo metodo è molto utile quando la posizione del nodo aggiunto è importante.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Esempio di spiegazione:
- Utilizzando loadXMLDoc() Aggiungi "books.xmlCarica in xmlDoc
- Crea un nuovo elemento <book>.
- Inserisci questo nodo prima dell'ultimo elemento <book>.
Se il secondo parametro di insertBefore() è null, il nuovo nodo verrà aggiunto dopo l'ultimo figlio esistente.
x.insertBefore(newNode,null) e x.appendChild(newNode) Possono tutti aggiungere un nuovo figlio a x.
Aggiungi una nuova proprietà
Il metodo addAtribute() non esiste.
Se l'attributo non esiste, setAttribute() può creare un nuovo attributo:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Esempio di spiegazione:
- Utilizzando loadXMLDoc() Aggiungi "books.xmlCarica in xmlDoc
- Imposta (crea) il valore dell'attributo "edition" del primo elemento <book> a "first"
Nota:Se l'attributo esiste, il metodo setAttribute() sovrascriverà il valore esistente.
Aggiungere testo al nodo di testo - insertData()
Il metodo insertData() inserisce dati in un nodo di testo esistente.
Il metodo insertData() ha due parametri:
- offset - Dove iniziare l'inserimento di caratteri (partendo da 0)
- string - La stringa da inserire
Il seguente frammento di codice aggiungerà "Easy" al testo del primo elemento <title> dell'XML caricato:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Pagina precedente Creazione di un nodo DOM
- Pagina successiva Node DOM clonato