Boa noite galera, gostaria de saber como faço para editar o valor de um elemento (tag) no XML, usando o DOM???
Exemplo:
Arquivo original:
RafaelArquivo editado:
Rafael TomazQuem puder me ajudar.
[]'s
Rafael
Boa noite galera, gostaria de saber como faço para editar o valor de um elemento (tag) no XML, usando o DOM???
Exemplo:
Arquivo original:
RafaelArquivo editado:
Rafael TomazQuem puder me ajudar.
[]'s
Rafael
Rafael,
aí vai uma introdução rápida sobre processamento de XML em java que encontrei no Google:
http://www.totheriver.com/learn/xml/xmltutorial.html#5.1.
Se você ler o artigo vai entender que existem diferentes parsers de xml para Java e que o tamanho do XML pode tornar impeditivo o seu uso através do DOM. Bom, mas o seu caso é simples e vou supor que está querendo processar o seguinte arquivo xml:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Nome>Rafael</Nome>
</root>
Vou usar o parser DOM do Xerces da Apache (http://xerces.apache.org/xerces-j/index.html).
Baixe o arquivo http://archive.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.5.0.zip, descompacte-o e coloque o jar xmlAPIs.jar no classpath do programa.
Aqui vai o código java para testar:
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import com.sun.org.apache.xerces.internal.parsers.DOMParser;
public class TesteXML {
/**
* @param args
*/
public static void main(String[] args) {
try {
// nome do arquivo xml
String xmlFilename = "arquivo.xml";
// Instancia parser DOM do xerces
DOMParser parser = new DOMParser();
// processa o arquivo XML
parser.parse(xmlFilename);
// recupera o documento em forma de objeto DOM
Document doc = parser.getDocument();
// recupera elementos com tag "Nome"
NodeList nodes = doc.getElementsByTagName("Nome");
System.out.println("Há " + nodes.getLength() +
" elemento(s).");
// Para cada elemento
for(int i=0; i< nodes.getLength(); i++)
// imprime valor do primeiro nó que ele contém
System.out.println( (i + 1) + " - " +
nodes.item(i).getChildNodes().item(0).getNodeValue() );
} catch (Exception ex) {
System.out.println(ex);
}
}
}
Para entender sobre como se deve usar o DOM para processar o XML é bom que leia o material de referência:
http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-[telefone removido]
Espero ter ajudado, até.
Rapaz, agora que eu vi que não respondi sua pergunta… rsrs :c)
Aí vai então. Confira no código onde tem uma chamada para o método getNodeValue().
Este método é da classe Node, que tem um também método chamado setNodeValue(String) para configurar o valor do nó.
Acho que agora foi…
=)
Rapaz, agora que eu vi que não respondi sua pergunta… rsrs :c)Aí vai então. Confira no código onde tem uma chamada para o método getNodeValue().
Este método é da classe Node, que tem um também método chamado setNodeValue(String) para configurar o valor do nó.
Acho que agora foi…
=)
Muito obrigado Marcio, mas eu já tinha conseguido ehehehe, esqueci de postar, valeu pela atenção e pela sua ajuda…
[]'s
Rafael
String xmlFilename = "arquivo.xml"; que arquivo seria esse???