Nós de substituição XML DOM
O método replaceChild() substitui um nó especificado.
A propriedade nodeValue substitui o texto em um nó de texto.
Experimente você mesmo - Exemplos
Os exemplos abaixo usam o arquivo XML books.xml .
Este exemplo usa replaceChild() para substituir o primeiro nó <book>.
Este exemplo usa a propriedade nodeValue para substituir dados em um nó de texto.
Substituir um nó de elemento
O método replaceChild() é usado para substituir um nó.
O fragmento de código a seguir substitui o primeiro elemento <book>:
Exemplo
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);
Exemplo explicado:
- Carregar " books.xml " em xmlDoc
- Crie um novo nó de elemento <book>
- Crie um novo nó de elemento <title>
- Crie um novo nó de texto com o texto "A Notebook"
- Anexe o novo nó de texto ao novo nó de elemento <title>
- Anexe o novo nó de elemento <title> ao novo nó de elemento <book>
- Substitua o primeiro nó do elemento <book> pelo novo nó do elemento <book>
Substituir dados em um nó de texto
O método replaceData() é usado para substituir dados em um nó de texto.
O método replaceData() tem três parâmetros:
- offset - Onde começar a substituir os caracteres. O valor de compensação começa em zero
- length - Quantos caracteres substituir
- string - A string a ser inserida
Exemplo
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Exemplo explicado:
- Carregar " books.xml " em xmlDoc
- Obtenha o nó de texto do primeiro nó do elemento <title>
- Use o método replaceData para substituir os oito primeiros caracteres do nó de texto por "Fácil"
Use a propriedade nodeValue em vez disso
É mais fácil substituir os dados em um nó de texto usando a propriedade nodeValue.
O fragmento de código a seguir substituirá o valor do nó de texto no primeiro elemento <title> por "Easy Italian":
Exemplo
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Exemplo explicado:
- Carregar " books.xml " em xmlDoc
- Obtenha o nó de texto do primeiro nó do elemento <title>
- Use a propriedade nodeValue para alterar o texto do nó de texto
Você pode ler mais sobre como alterar os valores dos nós no capítulo Alterar Nó .