Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    2

    [JAVA 1.4.2 ] Aggiungo nodi a un XML ma il documento non cambia

    Ciao a tutti, ho un problema: sto creando un software per modificare un documento XML.
    Il codice che dovrebbe aggiungere al documento questi tag:
    <entry>
    <data></data>
    <head></head>
    <body></body>
    </entry>

    in questa posizione:

    <og> (questo è il root)
    <news>
    ----QUI LA NUOVA ENTRY-----
    ----altre entry----
    </news>
    ---altri tag----

    </og>

    è il seguente:

    String xmlFile = "db.xml";
    DOMParser parser = new DOMParser();
    try {
    parser.parse(xmlFile);
    } catch (SAXException e) { e.printStackTrace(); }
    catch (IOException ee) { ee.printStackTrace(); }
    Document doc = parser.getDocument();

    Node news=doc.getDocumentElement().getFirstChild().getN extSibling();
    Element entry=doc.createElement("entry");
    news.appendChild(entry);
    news.insertBefore(entry, news.getFirstChild());

    Date oggi=new Date();
    DateFormat dateGenerator=DateFormat.getDateInstance();
    String dataDiOggi=dateGenerator.format(oggi);
    Element data=doc.createElement("data");
    data.appendChild(doc.createTextNode(dataDiOggi));

    entry.appendChild(data);

    Element head=doc.createElement("head");
    head.appendChild(doc.createTextNode(testa.getText( )));

    entry.appendChild(head);

    Element body=doc.createElement("body");
    body.appendChild(doc.createTextNode(corpo.getText( )));

    entry.appendChild(body);
    System.out.print(doc.getElementsByTagName("data"). item(0).getFirstChild().getNodeValue());

    A questo punto viene stampato un valore corretto, ma se ripeto il parsing e ci riprovo non accade...
    Sapete dirmi come posso fare per favore?

    Edit: intendevo dire che se riprovo a stampare i valori senza prima impostarli questi risultano errati.
    Controllando il documento XML lo trovo invariato rispetto a prima dell'aggiunta dei nuovi elementi

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Per forza: non salvi da nessuna parte il documento modificato.
    Non so quale parser stai utilizzando, ma presumo che nella sua documentazione ci sia qualcosa che indica come terminare le scritture (o, quantomento, come chiudere i documenti).
    Se il documento non viene chiuso tramite l'apposito metodo, non verrà scritto nulla sul file.

    Ad esempio, per JDom, quando si vuole salvare il documento appena modificato, si crea un oggetto XMLOutputter e ne si utilizza il metodo output()


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    2
    Grzie mille...usando Xerces avevo bisogno di un XMLSerializer!

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.