Criação de XML

5 respostas
L

Galera to precisando de um help. Eu já procurei em vários lugares mas nada que ajudasse muito…To procurando algo para ajudar na criação de documentos XML. Eu só vejo tutorial com parses para ler xml e não criar.
Tem algum pacote de classes pra isso?

To procurando coisa do tipo:

DocumentXML d = new DocumentXML();

d.addElement(“user”);

d.addParameter(“name”,“Daniel”);

d.addParameter(“tel”,“2222-3344”);

<xml>

<user>

<name>Daniel</name>

<tel>2222-3344</tel>

</user>

</xml>

Tem algo assim?

5 Respostas

J
try{
   DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
   Document doc = builder.newDocument();

   Element root = doc.createElement("xml");

   Element user = doc.createElement("user");
			
   Element name = doc.createElement("name");
   name.appendChild(doc.createTextNode("Daniel"));
   user.appendChild(name);
	
   Element tel = doc.createElement("tel");
   tel.appendChild(doc.createTextNode("2222-3344"));
   user.appendChild(tel);

   root.appendChild(user);
			
   doc.appendChild(root);
			
   Transformer trans = TransformerFactory.newInstance().newTransformer();
   trans.setOutputProperty(OutputKeys.INDENT, "yes");
   trans.transform(new DOMSource(doc), new StreamResult(new File("c:/teste.xml")));
			
}catch(Exception e){
   e.printStackTrace();
}

Tem outras opções pra fazer isso... você pode transformar uma String em xml por exemplo e muito mais...

L

Hmmm massa. Valeu! =)

Ah sim,essas classes já vem com o SDK ou tenho que trazer de algum lugar?

J

Já vem!

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
D

Aconselho vc a procurar sobre XStream, é uma api para trabalhar com xmls simples… E eh beeeeeeeeeem facil.

L

Valeu galera! Já foram de grande ajuda :wink:

Criado 1 de junho de 2006
Ultima resposta 1 de jun. de 2006
Respostas 5
Participantes 3