XML DOM Sostituisci nodi
Il metodo replaceChild() sostituisce un nodo specificato.
La proprietà nodeValue sostituisce il testo in un nodo di testo.
Provalo tu stesso - Esempi
Gli esempi seguenti utilizzano il file XML books.xml .
Questo esempio utilizza replaceChild() per sostituire il primo nodo <book>.
In questo esempio viene utilizzata la proprietà nodeValue per sostituire i dati in un nodo di testo.
Sostituisci un nodo elemento
Il metodo replaceChild() viene utilizzato per sostituire un nodo.
Il seguente frammento di codice sostituisce il primo elemento <book>:
Esempio
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
Esempio spiegato:
- Carica " books.xml " in xmlDoc
- Crea un nuovo nodo elemento <libro>
- Crea un nuovo nodo elemento <titolo>
- Crea un nuovo nodo di testo con il testo "A Notebook"
- Aggiungi il nuovo nodo di testo al nuovo nodo dell'elemento <titolo>
- Aggiungi il nuovo nodo elemento <titolo> al nuovo nodo elemento <libro>
- Sostituisci il primo nodo dell'elemento <book> con il nuovo nodo dell'elemento <book>
Sostituisci i dati in un nodo di testo
Il metodo replaceData() viene utilizzato per sostituire i dati in un nodo di testo.
Il metodo replaceData() ha tre parametri:
- offset - Da dove iniziare a sostituire i caratteri. Il valore di offset inizia da zero
- length - Quanti caratteri sostituire
- string - La stringa da inserire
Esempio
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Esempio spiegato:
- Carica " books.xml " in xmlDoc
- Ottieni il nodo di testo del primo nodo dell'elemento <title>
- Utilizzare il metodo replaceData per sostituire i primi otto caratteri del nodo di testo con "Easy"
Utilizzare invece la proprietà nodeValue
È più semplice sostituire i dati in un nodo di testo utilizzando la proprietà nodeValue.
Il seguente frammento di codice sostituirà il valore del nodo di testo nel primo elemento <title> con "Easy Italian":
Esempio
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Esempio spiegato:
- Carica " books.xml " in xmlDoc
- Ottieni il nodo di testo del primo nodo dell'elemento <title>
- Utilizzare la proprietà nodeValue per modificare il testo del nodo di testo
Puoi leggere ulteriori informazioni sulla modifica dei valori dei nodi nel capitolo Modifica dei nodi .