Bom dia Pessoal, me foi passado um exercio, onde, por meio da API DOM, deveria gerar um XML e ler os valores do mesmo, pois bem, o XML, é o seguinte
<root>
<colaborador id="1">
<nome>Atanael</nome>
<idade>20</idade>
</colaborador>
<colaborador id="2">
<nome>Josemar</nome>
<idade>21</idade>
</colaborador>
</root>
Então , comecei minhas pesquisar e montei o codigo para cria-lo:
public class Teste {
/**
* @param args
* @throws ParserConfigurationException
*/
public static void main(String[] args) throws ParserConfigurationException {
try {
Coloborador um = new Coloborador();
um.setId(1);
um.setIdade(20);
um.setNome("Atanael");
Coloborador dois = new Coloborador();
dois.setId(2);
dois.setIdade(21);
dois.setNome("Josemar");
ArrayList<Coloborador> coloboradors = new ArrayList<Coloborador>();
coloboradors.add(um);
coloboradors.add(dois);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.newDocument();
Element elemRoot = doc.createElement("root");
doc.appendChild(elemRoot);
for (Coloborador c : coloboradors){
Element em = doc.createElement ("colaborador");
em.setAttribute("id",String.valueOf(c.getId()));
elemRoot.appendChild(em);
Element emN = doc.createElement("nome");
emN.appendChild(doc.createTextNode ( c.getNome() ));
Element emI = doc.createElement("idade");
emI.appendChild(doc.createTextNode (String.valueOf(c.getIdade())));
em.appendChild(emN);
em.appendChild(emI);
}
TransformerFactory transformerFactory = TransformerFactory.newInstance () ;
Transformer transformer = transformerFactory.newTransformer () ;
DOMSource source = new DOMSource ( doc ) ;
StreamResult result = new StreamResult (new File ("C:\\wamp\\www\\XML\\src\\xmlcomdom.xml")) ;
transformer.transform ( source, result ) ;
}
catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Dai, ele até gera, so que ele gera dessa forma :
<?xml version="1.0" encoding="UTF-8" standalone="no"?><root><colaborador id="1"><nome>Atanael</nome><idade>20</idade></colaborador><colaborador id="2"><nome>Josemar</nome><idade>21</idade></colaborador></root>
sem identação, sem quebra de linha, sem nada, em uma unica linha continua…
alguém sabe se tem algum metodo que faz essa “formatação”? Ou é gerado assim mesmo e não adianta?
Obrigado!