Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package catalogo; import java.io.FileWriter; import java.util.List; import java.util.Scanner; import org.jdom2.Attribute; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.JDOMException; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; import org.jdom2.input.SAXBuilder; /** * * @author Gabriel */ public class XMLOut { public void criaDocument(List<String[]> lista, String[] categorias) { Element artigos = new Element("listagem"); Document doc = new Document(artigos); //iterao sobre a lista com os artigos for (int i = 0; i < lista.size(); i++) { Element artigo1 = new Element("artigo"); artigo1.setAttribute("id", Integer.toString(i)); //iterao sobre os valores do artigo for (int j = 0; j < lista.get(i).length; j++) { if (categorias[j].equals("ano")) artigo1.addContent(new Element("ano").setText(lista.get(i)[j])); else artigo1.addContent(new Element(categorias[j]).setText(lista.get(i)[j])); } doc.getRootElement().addContent(artigo1); } criaXML(doc); } public static void criaXML(Document doc) { /** * Esta funo recebe como parmetro um objeto Document corretamente estruturado * e cria um arquivo .XML com nome fornecido pelo usurio. */ Scanner in = new Scanner(System.in); //Mgica que cria o arquivo XMLOutputter xmlOutput = new XMLOutputter(); Format format = Format.getPrettyFormat(); format.setEncoding("ISO-8859-1"); xmlOutput.setFormat(format); System.out.printf("Informe o nome do arquivo .xml a ser criado: \n" + "(exemplo: listagem.xml)\n>>> "); String name = in.nextLine(); try { xmlOutput.output(doc, new FileWriter("outputs/".concat(name))); System.out.println("Arquivo de listagem criado."); } catch (Exception e) { System.out.println("Falha ao criar arquivo."); } } }