Adição de Nós XML DOM
- Página anterior Criação de nó DOM
- Próxima página Nó DOM clonado
Exemplo
O exemplo a seguir usa arquivo XML books.xml.
Função loadXMLDoc()Localizado no JavaScript externo, usado para carregar arquivos XML.
- Adicionar um nó após o último nó filho
- Este exemplo usa o método appendChild() para adicionar um nó filho a um nó existente.
- Adicionar um nó antes do nó filho especificado
- Este exemplo usa o método insertBefore() para inserir um nó antes de um nó filho especificado.
- Adicionar um novo atributo
- Este exemplo usa o método setAttribute() para adicionar um novo atributo.
- Adicionar dados ao nó de texto
- Este exemplo usa insertData() para inserir dados em um nó de texto existente.
Adicionar nó - appendChild()
O método appendChild() adiciona um nó filho a um nó existente.
O novo nó será adicionado (anexado) após qualquer nó filho existente.
Observação:Se a posição do nó for importante, use o método insertBefore().
O trecho de código a seguir cria um elemento (<edition>) e o adiciona após o último nó filho do primeiro elemento <book>:
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Exemplo de explicação:
- Ao usar loadXMLDoc() Adicionar "books.xmlCarregar no xmlDoc
- Criar um novo nó <edition>.
- Adicionar este nó ao primeiro elemento <book>.
Repetir e adicionar um elemento a todos os elementos <book>:TIY
Inserir nó - insertBefore()
O método insertBefore() é usado para inserir um nó antes do nó filho especificado.
Este método é útil quando a posição do nó adicionado é importante.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode, y);
Exemplo de explicação:
- Ao usar loadXMLDoc() Adicionar "books.xmlCarregar no xmlDoc
- Criar um novo nó de elemento <book>.
- Inserir este nó antes do último nó do elemento <book>.
Se o segundo parâmetro de insertBefore() for null, o novo nó será adicionado após o último nó filho existente.
x.insertBefore(newNode, null) e x.appendChild(newNode) Ambos podem adicionar um novo nó filho a x.
Adicionar novo atributo
O método addAtribute() não existe.
Se o atributo não existir, o método setAttribute() pode criar um novo atributo:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Exemplo de explicação:
- Ao usar loadXMLDoc() Adicionar "books.xmlCarregar no xmlDoc
- Definir (criar) o valor do atributo "edition" do primeiro elemento <book> como "first"
Observação:Se o atributo já existir, o método setAttribute() substituirá o valor existente.
Adicionar texto ao nó de texto - insertData()
O método insertData() insere dados em um nó de texto existente.
O método insertData() tem dois parâmetros:
- offset - Onde começar a inserir caracteres (começa com 0)
- string - A string a ser inserida
O seguinte trecho de código adicionará "Easy" ao primeiro nó de texto do elemento <title> do XML carregado:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Página anterior Criação de nó DOM
- Próxima página Nó DOM clonado