Adição de Nós DOM XML
- Página anterior Criar nó DOM
- Próxima página Clonar nó DOM
Adicionar nó - appendChild()
appendChild()
O método adiciona um nó filho ao nó existente.
O novo nó pode ser adicionado (anexado) após qualquer nó filho existente.
Atenção:Se a posição do nó é importante, use insertBefore().
O seguinte trecho de código cria um elemento (<edição>) e o adiciona após o último filho do primeiro elemento <book>.
Exemplo 1
newEle = xmlDoc.createElement("edição"); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Exemplo de explicação:
- Supondo books.xml Já foi carregado para
xmlDoc
de - Criar um novo nó <edition>
- Adicionar nó ao primeiro elemento <book>.
A função deste trecho de código é a mesma que a anterior, mas o novo elemento adicionou um valor:
Exemplo 2
newEle = xmlDoc.createElement("edição"); newText = xmlDoc.createTextNode("primeira versão"); newEle.appendChild(newText); xmlDoc.getElementsByTagName("book")[0].appendChild(newEle);
Exemplo de explicação:
- Supondo books.xml Já foi carregado para
xmlDoc
de - Criar um novo nó <edition>
- Criar um novo nó de texto
"primeira edição"
- Adicionar este nó de texto ao nó <edition>
- Adicionar o nó <edition> ao elemento <book>
Inserir nó - insertBefore()
insertBefore()
O método insere um nó antes do nó filho especificado.
Se a posição do nó adicionado for importante, este método é útil:
Exemplo
newNode = xmlDoc.createElement("book"); x = xmlDoc.documentElement; y = xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Exemplo de explicação:
- Supondo books.xml Já foi carregado para
xmlDoc
de - Criar um novo nó de elemento <book>
- Inserir este novo nó antes do último nó filho <book> existente
- 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) pode adicionar novos nós filhos ao x.
Adicionar novo atributo
setAttribute()
O método define o valor do atributo.
Se o atributo não existir, setAttribute()
Pode criar um novo atributo:
Exemplo
xmlDoc.getElementsByTagName('book')[0].setAttribute("edition","primeira edição");
Exemplo de explicação:
- Supondo books.xml foi carregado para
xmlDoc
de - Definir o valor do atributo "edition" do primeiro elemento <book> como "primeira edição"
Atenção:Não existe um método chamado addAttribute(), se o atributo não existir, setAttribute() criará um novo atributo. Se o atributo já existir, o método setAttribute() substituirá o valor existente.
Adicionar texto ao nó de texto - insertData()
insertData()
O método insere dados no nó de texto existente.
insertData()
O método tem dois parâmetros:
- offset De onde começar a inserção de caracteres (começa em 0)
- string - A string a ser inserida
O seguinte trecho de código adicionará "Meu mais amado" ao primeiro nó de texto do elemento <title> do XML carregado:
Exemplo
xmlDoc.getElementsByTagName("title")[0].childNodes[0].insertData(0,"Meu mais amado");
- Página anterior Criar nó DOM
- Próxima página Clonar nó DOM