Galera seguinte tenho uma aplicação que lê dados de um XML, de acordo com os dados lidos elel toma uma decisão de criar um novo nó no XML, ou de alterar um nó existente!!!
Gostaria de saber como posso executar estas duas operações, alterar um nó existente e gravar um novo nó!!!
private ArrayList carregarXML(String pathXML) throws Exception{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document docXML = db.parse(pathXML);
docXML.getDocumentElement().normalize();
NodeList ndList = docXML.getElementsByTagName("con");
ArrayList conn = new ArrayList();
for(int Contador = 0; Contador < ndList.getLength(); Contador++){
Conexao connection = new Conexao();
Node nd = ndList.item(Contador);
if(nd.getNodeType() == Node.ELEMENT_NODE){
Element elXML = (Element)nd;
//ID
NodeList ndListId = elXML.getElementsByTagName("ID");
Element elId = (Element)ndListId.item(0);
NodeList ndListIdValor = elId.getChildNodes();
int id = Integer.valueOf((((Node)ndListIdValor.item(0)).getNodeValue().trim())).intValue();
connection.setId(id);
//Data e Hora de Conexão
NodeList ndListConexao = elXML.getElementsByTagName("Conexao");
Element elConexao = (Element)ndListConexao.item(0);
NodeList ndListConexaoValor = elConexao.getChildNodes();
String Conexao = (((Node)ndListConexaoValor.item(0)).getNodeValue().trim());
connection.setDataHoraConexao(Conexao);
//Data e Hora de Desconexão
NodeList ndListDesconexao = elXML.getElementsByTagName("Desconexao");
Element elDesconexao = (Element)ndListDesconexao.item(0);
NodeList ndListDesconexaoValor = elDesconexao.getChildNodes();
connection.setDataHoraDesconexao(((Node)ndListDesconexaoValor.item(0)).getNodeValue().trim());
//Nome do Usuário
NodeList ndListNomeUser = elXML.getElementsByTagName("Usuario");
Element elNomeUser = (Element)ndListNomeUser.item(0);
NodeList ndListNomeUserValor = elNomeUser.getChildNodes();
connection.setNomeUser(((Node)ndListNomeUserValor.item(0)).getNodeValue().trim());
conn.add(connection);
}
}
return conn;
}
agora o processo de gravaçã é feito por uma outra função a qual estou pesquisando a melhor para desenvolvê-la, não só a melhor mas tb pelo menos alguma forma!!!
[quote=henrisk_linux]Galera seguinte tenho uma aplicação que lê dados de um XML, de acordo com os dados lidos elel toma uma decisão de criar um novo nó no XML, ou de alterar um nó existente!!!
Gostaria de saber como posso executar estas duas operações, alterar um nó existente e gravar um novo nó!!![/quote]
Pq vc não utiliza JDOM ?? Ela implementa DOM e é bem simles de manipular !!! Veja esse link ele ensina a ler e escrever !!!