GUI e XML

Galera, tenho uma gui pronta e funcionando, mas preciso usar xml e sou leigo nesse assunto. Gostaria que me dissessem como posso aplicar xlm no meu projeto. Obrigado desde já.

O que exatamente você precisa fazer com XML. Seria leitura de arquivos xml?

Ola Alexandre_Bastos, aqui você pode baixar o Scene Builder e criar sua interface, isto vai te retornar um FXML que é basicamente um XML para aplicações Java com o JavaFX.
Depois para implementar a interface em seu codigo, você vai ter que criar um projeto no netbeans e usar este FXML no seu projeto para então criar uma classe controladora deste FXML e unir com a parte logica da sua aplicação.

Criar e ler arquivos xml. Bom, consegui, em parte, fazer o código de criação. O código em si parece estar certo, mas nao consigo fazer ele rodar dentro do meu main para criar o arquivo .xml
segue código de criaçao :

public void salvarInformaçoes() throws Exception {

    DocumentBuilderFactory docBuilderF = DocumentBuilderFactory.newInstance();      
    DocumentBuilder docBuilder = docBuilderF.newDocumentBuilder();
   
    Document document = docBuilder.newDocument();
    Element element  = document.createElement("Itens");
    document.appendChild(element);
    for(int i=0;i<list.size();i++)
    {        
        Element element1  = document.createElement("Item");
        document.appendChild(element1); 
    
        Attr codigo = document.createAttribute("Código");
        codigo.setValue(Integer.toString(list.get(i).getCodigo()));
        element.setAttributeNode(codigo); 

        Attr local = document.createAttribute("Local");
        local.setValue(list.get(i).getLocal());
        element.setAttributeNode(local);

        Attr descriçao = document.createAttribute("Descriçao");
        descriçao.setValue(list.get(i).getLocal());
        element.setAttributeNode(descriçao);        

        TransformerFactory transformerFactory = TransformerFactory.newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource   source = new DOMSource(document);
        
        StreamResult streamresult = new StreamResult( new File("C:\\XML\\dados.xml")) ;
        
        transformer.transform(source, streamresult);
        
    }

Obrigado pela ajuda, mateus!

Acho que a melhor maneira de manipular xml é pela biblioteca XStream, simples fácil e rápido.

Recomendo a utilização da biblioteca JAXB.
Segue link com exemplo: http://stackoverflow.com/questions/26959343/convert-java-object-to-xml-string

Fabricio, onde eu implemento o método pra criar o arquivo xml?

Segue abaixo exemplo de geração e leitura do XML.

`/**
*

  • @author fabricio
    */
    public class GeracaoXML {

    public static void main(String[] args) {

     //Objeto a ser convertido em xml
     Pessoa p = new Pessoa();
     p.setNome("Aline");
     p.setIdade(29);
    
     try {
         File file = new File("arquivo.xml");
         JAXBContext jaxbContext = JAXBContext.newInstance(Pessoa.class);
    
         //Marshaller de objeto para xml
         Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
         jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
         jaxbMarshaller.marshal(p, file);
         System.out.println("<----------XML--------->");
         jaxbMarshaller.marshal(p, System.out);//Imprime o XML
         System.out.println(); //Pula uma linha
    
         //Unmarshaller de xml para objeto
         Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
         Pessoa customer = (Pessoa) jaxbUnmarshaller.unmarshal(file);
         System.out.println("<----------OBJETO--------->");
         System.out.println(customer);//Imprime o OBJETO
     } catch (JAXBException e) {
         e.printStackTrace();
     }
    

    }

    @XmlRootElement
    static class Pessoa {

     private String nome;
     private Integer idade;
    
     public Pessoa() {
     }
    
     public Pessoa(String nome, Integer idade) {
         this.nome = nome;
         this.idade = idade;
     }
    
     public String getNome() {
         return nome;
     }
    
     public void setNome(String nome) {
         this.nome = nome;
     }
    
     public Integer getIdade() {
         return idade;
     }
    
     public void setIdade(Integer idade) {
         this.idade = idade;
     }
    
     @Override
     public String toString() {
         return "Pessoa{" + "nome=" + nome + ", idade=" + idade + '}';
     }
    

    }

}
`

Muito obrigado, Fabricio!! Ajudou demais. Como eu faço pra pegar as informações que foram digitadas na gui e estão dentro de um array serem impressas no arquivo xml?

Recomendo a criação de uma classe (semelhante a classe Pessoa no exemplo). Pegar os valores da GUI e setar no objeto. Depois disso você troca o objeto Pessoa do exemplo pelo objeto que você irá criar.

No caso de Array, você cria uma classe com uma lista dentro. Exemplo:

`@XmlRootElement
static class Pessoa {

    private String nome;
    private Integer idade;
    private List<String> enderecos;`