Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126

    Rilasciare un XmlDocument

    ciao, stò trovando difficoltà con la modifica e il salvataggio si un documento xml..
    praticamente avvio l'applicazione che se non trova del testo in uno specifico nodo del documento xml chiede di aggiungere del testo a questo specifico nodo.. il documento viene modificato e salvato ma se in quello stesso momento provo ad utilizzarlo (senza chiudere e riaprire l'applicazione) accedendo a questo nodo appena modificato, risulta come se non fosse stato modificato.. se provo a chiudere e debuggare l'applicazione allora quando accedo al nodo modificato funziona.. come mai?
    vi scrivo il codice che utilizzo per aprire il file xml, modificarlo e salvarlo..
    codice:
     private void setListino(string _listino)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("../../Eticonf.xml");
                XmlNode node = xmldoc.DocumentElement;
                node.SelectSingleNode("listino").InnerText = _listino;
                xmldoc.Save("../../Eticonf.xml");
            }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Non mi è ben chiaro se l'applicazione che accede al file XML modificato è sempre la stessa oppure è un'applicazione esterna, ma io non ho riscontrato grossi problemi in merito, quindi forse la situazione che stai affrontando include altri elementi che non risultano evidenti dal codice. :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da alka
    Non mi è ben chiaro se l'applicazione che accede al file XML modificato è sempre la stessa oppure è un'applicazione esterna, ma io non ho riscontrato grossi problemi in merito, quindi forse la situazione che stai affrontando include altri elementi che non risultano evidenti dal codice. :master:
    no il codice è quello.. cmq l'applicazione è sempre la stessa.. io il nodo lo setto ed il documento xml lo salvo correttamente.. il problema è che per rileggere quel nodo modificato devo riavviare l'applicazione.. è questa la cosa strana.. cioè se modifico e salvo un documento xml, non dovrei poterlo utilizzare immediatamente senza redebuggare? mi basta solo chiudere l'applicazione e riaprirla perchè tutto funzioni.. mah

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Con il codice che hai scritto, non fai altro che aprire un file XML, sostituire un valore e risalvarlo.

    Tu hai descritto un'applicazione che invece visualizza anche il file e fa altre operazioni, quindi evidentemente qualche porzione di codice in cui magari si potrebbe annidare l'errore è omessa.

    E' bene non "censurare" sulla fiducia poiché potresti tralasciare esattamente il codice in cui, apparentemente corretto, ci può essere una banale svista. Sono cose che succedono a chiunque (ogni riferimento ad esperienze del sottoscritto è puramente voluto).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    Originariamente inviato da alka
    Con il codice che hai scritto, non fai altro che aprire un file XML, sostituire un valore e risalvarlo.

    Tu hai descritto un'applicazione che invece visualizza anche il file e fa altre operazioni, quindi evidentemente qualche porzione di codice in cui magari si potrebbe annidare l'errore è omessa.

    E' bene non "censurare" sulla fiducia poiché potresti tralasciare esattamente il codice in cui, apparentemente corretto, ci può essere una banale svista. Sono cose che succedono a chiunque (ogni riferimento ad esperienze del sottoscritto è puramente voluto).
    hehe si certo è chiaro che non mi considero immune a queste cose.. solo che davvero l'errore non c'è in quanto come leggo il nodo xml dopo averlo modificato così lo leggo anche se chiudo e riapro l'applicazione.. insomma.. il problema non è in lettura.. però guarda ti voglio credere e ti posto tutto il codice che utilizzo (che è veramente poco):
    codice:
    private string getListino()
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("../../Eticonf.xml");
                XmlNode node = xmldoc.DocumentElement;
                return node.SelectSingleNode("listino").InnerText;
            }
    
            private void setListino(string _listino)
            {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load("../../Eticonf.xml");
                XmlNode node = xmldoc.DocumentElement;
                node.SelectSingleNode("listino").InnerText = _listino;
                xmldoc.Save("../../Eticonf.xml");
            }
    
            private void mainFrm_Shown(object sender, EventArgs e)
            {
                //controllo se il listino è stato settato
                if (getListino() == string.Empty)
                {
                    formlistino = new frmSelectListino();
                    formlistino.FormMain = this;
                    formlistino.ShowDialog();
                    //setto il listino
                    setListino(formlistino.listino);
                }
                else
                {
                    listino = getListino();
                }
            }
    magari l'errore c'è e non lo vedo

  6. #6
    Utente di HTML.it L'avatar di dops
    Registrato dal
    Jul 2000
    Messaggi
    4,126
    ok come volevasi dimostrare.. ho trascurato un pezzo di codice!!! quanto mi incazzo quando devo darti ragione!!!!
    grazie mille

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.