PDA

View Full Version : [C#] Editare file XML


J0k3r91
13-08-2008, 17:53
Salve a tutti! Premetto di non essere ferrato in programmazione XML, ma vi porgo il mio problema che tento di risolvere da parecchio tempo. :mad:

Sto cercando un modo per editare un file XML presente sul disco fisso:

Diciamo che per "editare", io intendo poter cambiare una parte del codice del file (che è già scritto), per poi salvarlo e sostituirlo così all'originale. :D

Ho provato a usare XmlTextReader e la classe XmlDocument per caricare il file, ma poi quando lo devo andare a modificare non so dove mettere le mani...
non conoscendo poi il significato di "nodi" ecc...

Pregherei qualcuno di darmi una consulenza sul problema, nella speranza che ci sia un modo non complicatissimo. :help:

Grazie.

avastreg
13-08-2008, 18:34
leggere e modificare i file XML non è poi cosi difficile, e non è obbligatorio conoscere XPath per navigarne uno.

Immaginati l'Xml come un albero che ha varie diramazioni, una sorta di maxi-oggetto con dentro altri oggetti che a loro volta contengono altri oggetti etc.. per raggiungere gli oggetti alla fin fine ti basta sapere il loro nome (il nome del tag).

Ti consiglio di tentare una via simile. Assumendo che tu debba modificare dei nodi, puoi fare cosi: cerchi attraverso il nome del tag il valore che vuoi modificare, poi usi InnerText o InnerXml (a seconda della situazione).

XmlDocument doc = new XmlDocument();
doc.LoadXml(file); //carichi il documento

XmlNodeList nodeList;
nodeList=root.GetElementsByTagName("nome");
nodeList[0].InnerText(..); //oppure InnerXML

altrimenti penso ci sia anche la funzione SelectSingleNode().

J0k3r91
13-08-2008, 19:00
Grazie avastreg! Ora provo e vedo!