Sostituzione dei Nodi XML DOM

Il metodo replaceChild() sostituisce il nodo specificato.

L'attributo nodeValue sostituisce il testo del nodo di testo.

Esempio

Esempio utilizzando il file XML books.xml.

Funzione loadXMLDoc(), situato all'esterno del JavaScript, utilizzato per caricare il file XML.

Sostituire il nodo dell'elemento
In questo esempio, replaceChild() viene utilizzato per sostituire il primo nodo <book>.
Sostituire i dati dei nodi di testo
In questo esempio, l'attributo nodeValue viene utilizzato per sostituire i dati del nodo di testo.

Sostituire il nodo dell'elemento

Il metodo replaceChild() viene utilizzato per sostituire i nodi.

Il seguente frammento di codice sostituisce il primo elemento <book>:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//Creare un elemento book, un elemento title e un nodo di testo
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Hello World");
//Aggiungere il nodo di testo al nodo title
newTitle.appendChild(newText);
//Aggiungere il nodo title al nodo book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
//Sostituire questo nuovo nodo con il primo nodo book
x.replaceChild(newNode, y);

Esempio di spiegazione:

  • Usando loadXMLDoc() metti "books.xmlcaricato in xmlDoc
  • Creare un nuovo elemento <book>.
  • Creare un nuovo elemento <title>.
  • Creare un nuovo nodo di testo con il testo "Hello World".
  • Aggiungere questo nuovo nodo di testo al nuovo elemento <title>.
  • Aggiungere questo nuovo elemento <title> al nuovo elemento <book>.
  • Sostituire il primo elemento <book> con un nuovo elemento <book>.

TIY

Sostituire i dati dei nodi di testo

Il metodo replaceData() viene utilizzato per sostituire i dati dei nodi di testo.

Il metodo replaceData() ha tre parametri:

  • offset - Dove iniziare a sostituire i caratteri. Il valore di offset parte da 0.
  • length - Il numero di caratteri da sostituire
  • string - La stringa da inserire
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

Esempio di spiegazione:

  • Usando loadXMLDoc() metti "books.xmlcaricato in xmlDoc
  • Ottieni il testo del primo nodo <title>
  • Usa il metodo replaceData per sostituire i primi 8 caratteri del testo del nodo con "hello"

TIY

Usa l'attributo nodeValue

Sostituire i dati del nodo di testo con l'attributo nodeValue sarà più facile.

Il seguente frammento di codice sostituirà il valore del primo nodo <title> con "Easy Italian":

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

Esempio di spiegazione:

  • Usando loadXMLDoc() metti "books.xmlcaricato in xmlDoc
  • Ottieni il testo del primo nodo <title>
  • Usa l'attributo nodeValue per modificare il testo di questo nodo di testo

TIY

Puoi modificare Modifica del nodo In questa sezione puoi leggere di più su come modificare il valore del nodo.