Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    Problema creazione file xml

    Ho trovato,questa classe per creare un file xml. Con un record di testa e tanti record successivi.
    il,file dovrebbe essere così:
    codice:
    <spettanze>ssss
    <elenco>hhss
    <altri tag>
    
    ......
    ....
    </elenco>
    </spettanze>
    codice:
    privatevoid Crea(){ System.out.println("ok");
    try {
    Element spettanze = new Element("spettanze");
    Document doc = new Document(spettanze);
    
    doc.setRootElement(competenze);
    
    Element elenco = new Element("elenco");
    Document doc1 = new Document(elenco);
    
    doc1.setRootElement(elenco);
    
    Element staff = new Element("elenco");
    staff.setAttribute(new Attribute("prg", "1"));
    staff.addContent(new Element("cod").setText("11"));
    staff.addContent(new Element("Ufficio").setText("333"));
    staff.addContent(new Element("magazzino").setText("1717"))
    staff.addContent(new Element("mag1").setText("03")); // VARIABILE
    staff.addContent(new Element("codic").setText("AA")); // VARIABILE
    staff.addContent(new Element("inizio").setText("01/01/2015")); // VARIABILE
    staff.addContent(new Element("fine").setText("31/01/2015")); // VARIABILE 
    staff.addContent(new Element("nomeEl").setText("Elencoa")); // VARIABILE
    
    doc.getRootElement().addContent(staff);>  
    
    Element staff1 = new Element("staff");
    staff1.setAttribute(new Attribute("id", "2"));
    staff1.addContent(new Element("firstname").setText("low"));
    staff1.addContent(new Element("lastname").setText("yin fong"));
    staff1.addContent(new Element("nickname").setText("fong fong"));
    staff1.addContent(new Element("salary").setText("188888"));
    
    doc.getRootElement().addContent(staff1);
    
    // new XMLOutputter().output(doc, System.out);
    XMLOutputter xmlOutput = new XMLOutputter();
    // display nice nice
    
    xmlOutput.setFormat(Format.getPrettyFormat());
    
    xmlOutput.output(doc, new FileWriter("c:\\file.xml"));
    System.out.println("File Saved!");
    } catch (IOException io)
    
    {
    
    System.out.println("io.getMessage()");
    
    }
    Ultima modifica di LeleFT; 26-02-2015 a 12:56 Motivo: Corretti tag QUOTE con tag CODE

  2. #2
    e quindi?!?
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    Scusa hai ragione.
    il problema è che i due tag iniziali non l chiude alla fine. ne chiude solo uno il primo
    codice:
    <spettanze>ssss
    <elenco>hhss
    <altri tag>
    ......
    ....
    </elenco>
    
    </spettanze>
    dopo un certo numero di
    codice:
    Element staff1 = new Element("staff");
    staff1.setAttribute(new Attribute("id", "2"));
    staff1.addContent(new Element("firstname").setText("low"));
    staff1.addContent(new Element("lastname").setText("yin fong"));
    staff1.addContent(new Element("nickname").setText("fong fong"));
    staff1.addContent(new Element("salary").setText("188888"));
    
    doc.getRootElement().addContent(staff1);
    mi dovrebbe chiudere prima </elenco> e poi </spettanze>
    invece dopo il primo record staff1 chiude </elenco>
    Ultima modifica di LeleFT; 26-02-2015 a 12:50 Motivo: Modificati i tag QUOTE con i tag CODE

  4. #4
    ti consiglio di scrivere il codice inserendo i tag

    [code]

    // tuo codice qui

    [/code]

    altrimenti non di capisce niente, oltre che mettere quei segni di maggiore all'inizio di ogni riga.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @tigre2209: il codice va inserito all'interno dei tag CODE. I tag QUOTE servono a fare citazioni.
    Cerca anche di non incollare formattazioni, altrimenti si sballa la visualizzazione.
    Ho corretto i tuoi ultimi post.


    Ciao.
    Ultima modifica di LeleFT; 26-02-2015 a 12:56
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Il problema è in queste due istruzioni:
    codice:
    Document doc = new Document(spettanze);
    doc.setRootElement(competenze);

    Quando invochi il costruttore di document passando l'elemento "spettanze" stai settando la root del document con "spettanze". Poi però cambi la root con "competenze" e quindi ovviamente "spettanze" non viene + inserito nel document.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    è stato un errore di scrittura. ho provato:

    codice:
    Element competenze = 
    new Element("competenze");
    Document doc = new Document(competenze);
                    doc.setRootElement(competenze);
     Element elenco = 
    new Element("elenco");
    
    
                    Document doc1 = 
    new Document(elenco);
                     doc1.setRootElement(elenco);

    ma il tag elenco non si chiude alla fine.
    Ultima modifica di LeleFT; 26-02-2015 a 18:48 Motivo: Corretti tag QUOTE con tag CODE

  8. #8
    Il problema di fondo sai qual'è, non ci si improvvisa programmatori....
    codice:
    Element spettanze = new Element("spettanze");
    Document doc = new Document(spettanze);
    
    
    doc.setRootElement(competenze);
    
    
    Element elenco = new Element("elenco");
    doc.getRootElement().addContent(elenco);
    
    
    Element staff = new Element("elenco");
    staff.setAttribute(new Attribute("prg", "1"));
    staff.addContent(new Element("cod").setText("11"));
    staff.addContent(new Element("Ufficio").setText("333"));
    staff.addContent(new Element("magazzino").setText("1717"))
    staff.addContent(new Element("mag1").setText("03")); // VARIABILE
    staff.addContent(new Element("codic").setText("AA")); // VARIABILE
    staff.addContent(new Element("inizio").setText("01/01/2015")); // VARIABILE
    staff.addContent(new Element("fine").setText("31/01/2015")); // VARIABILE 
    staff.addContent(new Element("nomeEl").setText("Elencoa")); // VARIABILE
    
    
    elenco.addContent(staff);>  
    
    
    Element staff1 = new Element("staff");
    staff1.setAttribute(new Attribute("id", "2"));
    staff1.addContent(new Element("firstname").setText("low"));
    staff1.addContent(new Element("lastname").setText("yin fong"));
    staff1.addContent(new Element("nickname").setText("fong fong"));
    staff1.addContent(new Element("salary").setText("188888"));
    
    
    elenco.addContent(staff1);
    
    
    // new XMLOutputter().output(doc, System.out);
    XMLOutputter xmlOutput = new XMLOutputter();
    // display nice nice
    
    
    xmlOutput.setFormat(Format.getPrettyFormat());
    
    
    xmlOutput.output(doc, new FileWriter("c:\\file.xml"));
    System.out.println("File Saved!");
    } catch (IOException io)
    
    
    {
    
    
    System.out.println("io.getMessage()");
    
    
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    GRAZIE

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @tigre2209: hai usato di nuovo i tag QUOTE al posto dei tag CODE. Non è difficile: puoi riuscirci anche tu.
    Correggo di nuovo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.