Xml!

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ó!!!

Que APIs pra XML vc esta usando?

Para Leitura DOM

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 !!!

http://www.javafree.org/javabb/viewtopic.jbb?t=847694

Se vc quiser alterar um nó existente e depois gerar um novo documento com esse nó alterado, vc precisará fazer clones !!!

falou !!!