PDA

View Full Version : [c#] query su file xml


pmhwp
16-03-2008, 00:11
Ciao,

ho un file xml come questo:

<?xml version="1.0"?>
<listaclienti>
<cliente>
<id>1</id>
<cognome>client1</cognome>
<nome>Pippo</nome>
<email>email1</email>
</cliente>
</listaclienti>
</xml>
Vorrei fare una funzione che per ogni nodo cliente mi stampi su una message box ad esempio il nome e cognome.
Come posso fare?

string campo="cliente/*";
//List<int> intList = new List<int>();
XmlDocument Doc = new XmlDocument();
Doc.Load(this.path);

//XmlNodeList ricerca = Doc.DocumentElement.SelectNodes(campo);

XmlNodeList ricerca;
XmlElement root = Doc.DocumentElement;
ricerca = root.SelectNodes("/listaclienti/cliente/cognome | /listaclienti/cliente/nome");


//recupero il valore all'interno di ogni elemento e inserisco nella listbox
foreach (XmlNode node in ricerca)//.ChildNodes)
{
//lst.Items.Add
MessageBox.Show (node.InnerText);
}

Per ora ho scritto questo codice pero' mi stampa una messagebox per il nome e una per il cognome...come posso fare?

kernel::panic
16-03-2008, 17:46
Prova cosė:
foreach(XmlNode node in Doc.SelectNodes("/listaclienti/cliente"))
{
MessageBox.Show(string.Format("{0} {1}",
node["nome"].InnerText, node["cognome"].InnerText));
}

PS: Il file XML non deve terminare con </xml>

Ciao

pmhwp
16-03-2008, 22:12
Funziona.
Grazie!