Exclusão de Nós XML DOM
- Página anterior Alteração de nós DOM
- Próxima página Substituição de nós DOM
O método removeChild() remove o nó especificado.
O método removeAttribute() remove o atributo especificado.
Exemplo
A seguir, um exemplo usando arquivo XML books.xml
Função loadXMLDoc(),localizado no JavaScript externo, usado para carregar o arquivo XML.
- Remover nó de elemento
- Este exemplo usa removeChild() para remover o primeiro elemento <book>.
- Remover nó de elemento atual
- Este exemplo usa parentNode e removeChild() para remover o elemento <book> atual.
- Excluir nó de texto
- Este exemplo usa removeChild() para remover o nó de texto do primeiro elemento <title>.
- Limpar o texto do nó de texto
- Este exemplo usa a propriedade nodeValue() para limpar o nó de texto do primeiro elemento <title>.
- Remover atributo com base no nome
- Este exemplo usa removeAttribute() para remover o atributo "category" do primeiro elemento <book>.
- Remover atributo com base no objeto
- Este exemplo usa removeAttributeNode() para remover todos os atributos do elemento <book>.
Remover nó de elemento
O método removeChild() remove o nó especificado.
Quando um nó é removido, todos seus nós filhos também são removidos.
O código fragmento a seguir remove o primeiro elemento <book> do xml carregado:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Definir a variável y como o nó de elemento a ser excluído
- Usar o método removeChild() para excluir nó de elemento do nó pai
Excluir a si mesmo - excluir o nó atual
O método removeChild() é o único método que pode excluir o nó especificado.
Quando você já localizou o nó a ser excluído, pode usar a propriedade parentNode e o método removeChild() para excluir este nó:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Definir a variável y como o nó de elemento a ser excluído
- Usar a propriedade parentNode e o método removeChild() para excluir este nó de elemento
Excluir nó de texto
O método removeChild() pode ser usado para excluir nó de texto:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Definir a variável x como o nó do primeiro elemento title
- Definir a variável y como o nó de texto a ser excluído
- Usar o método removeChild() para excluir nó do nó pai
Não muito usado removeChild() para excluir texto do nó. Pode ser substituído pela propriedade nodeValue. Veja o próximo parágrafo.
Limpar nó de texto
A propriedade nodeValue pode ser usada para alterar ou limpar o valor do nó de texto:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Definir a variável x como o nó de texto do primeiro elemento title
- Usar a propriedade nodeValue para limpar o nó de texto do nó de texto
Loop e altere o nó de texto de todos os elementos <title>: TIY
Excluir nó de atributo com base no nome
O método removeAttribute(name) é usado para excluir o nó de atributo com base no nome.
Exemplo: removeAttribute('category')
O código fragmento a seguir remove o atributo "category" do primeiro elemento <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Usar getElementsByTagName() para obter o nó book
- Exclua a propriedade "category" do primeiro nó do elemento book
Navegue e exclua todas as propriedades "category" dos elementos <book>: TIY.
Remoção de nó de atributo com base no objeto
O método removeAttributeNode() remove o nó de atributo usando o objeto Node como parâmetro.
Exemplo: removeAttributeNode(x)
O código a seguir remove todos os atributos de todos os elementos <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); } }
Exemplo de explicação:
- Ao usar loadXMLDoc() Coloque "books.xml"Carregar xmlDoc"
- Use getElementsByTagName() para obter todos os nós book
- Verifique se cada elemento book possui atributos
- Se houver atributos no elemento book, exclua o atributo
- Página anterior Alteração de nós DOM
- Próxima página Substituição de nós DOM