Criar XML com Java

O XML é uma norma que define uma linguagem padrão para a representação de informação independentemente das tecnologias. XML è um presente por aqui trabalha na integração de sistemas pela sua portabilidade, já que é um formato que não depende das plataformas de hardware ou de software.

Como podemos criar un xml com java? Por exemplo:

<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<empresa>
<empregado id=”1″><nome>Jose</nome><apelido>joao moriumba</apelido><nickname>jmoriumba</nickname><salario>100000</salario>
</empregado>
<empregado id=”2″><nome>Luis Maria</nome><apelido>Pedro</apelido><nickname>lpedro</nickname><salario>124000</salario>
</empregado>
</empresa>

1- import package

import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Attr;
import org.w3c.dom.Document;
import org.w3c.dom.Element;

2- Criar root element

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
//root elements
Document doc = docBuilder.newDocument();
Element rootElement = doc.createElement(“empresa”);
doc.appendChild(rootElement);

3- Criar element filho

// empresa elements
// Empregado Jose Joao Moriumba
Element empregado = doc.createElement(“empregado”);
rootElement.appendChild(empregado);
// set attribute to empregado
Attr attr = doc.createAttribute(“id”);
attr.setValue(“1”);
empregado.setAttributeNode(attr);

4- // escrever  content numa String “xml”

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);

StringWriter stringWriter = new StringWriter();
StreamResult result = new StreamResult(stringWriter );
// Output to console for testing
// StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);
System.out.println(stringWriter.toString());

Para baixar o codigo java completo CreateXML