Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Usare JAXB

Visualizzazione discussione

  1. #3
    Grazie per la risposta, attualmente ho questo codice
    La classe Documento che contiene una lista di Elementi
    codice:
    @XmlRootElement
    public class Documento {
        
        private List<Elemento> elemento = new ArrayList<Elemento>();
    
        @XmlElement(name="elemento")
        public List<Elemento> getListaElementi() {
            return elemento;
        }
    
        public void setListaElementi(List<Elemento> listaElementi) {
            this.elemento = listaElementi;
        }

    Una classe Elemento
    codice:
    public class Elemento {
    
        private String nomeAutore;
        private String titolo;
    
        
        public String getNomeAutore() {
            return nomeAutore;
        }
    
        @XmlElement
        public void setNomeAutore(String nomeAutore) {
            this.nomeAutore = nomeAutore;
        }
    
        public String getTitolo() {
            return titolo;
        }
    
        @XmlElement
        public void setTitolo(String titolo) {
            this.titolo = titolo;
        }

    ed una classe che mi permette di creare il file xml
    codice:
    public void Prova() {
            try {
                documento = new Documento();
                            
                File f = new File("C:\\prova.txt");
                in = new BufferedReader(new FileReader(f));
    
                String str;
                while ((str = in.readLine()) != null) {
                    elemento = new Elemento();
                    process(str, elemento);
                    
                }
                p(documento);
    
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        public void process(String s, Elemento elemento) {
            String[] tokens = s.split(";");
            elemento.setNomeAutore(tokens[0]);
            elemento.setTitolo(tokens[1]);
            documento.getListaElementi().add(elemento);
        }
    
        public void p(Documento doc) {
            try {
    
                File file = new File("C:\\file.xml");
                
                
                JAXBContext jaxbContext = JAXBContext.newInstance(Documento.class);
                Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
    
                // output pretty printed
                jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    
                jaxbMarshaller.marshal(doc, file);
                jaxbMarshaller.marshal(doc, System.out);
    
            } catch (JAXBException e) {
                e.printStackTrace();
            }
    
        }
    In questo modo mi genera il file xml in modo corretto, quindi riesco a vedere tutti i libri, se il file di input è di tipo txt.
    Se ci sono altri errori indicatemeli pure.
    Grazie ancora
    Ultima modifica di gattamelogna; 23-01-2015 a 14:58

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.