Ciao a tutti,
ho cercato tanto in rete ma non ho trovato molto di quello che devo fare io.
Vi spiego il problema: ho un file xml fatto in questo modo:
codice:
<nodeID="1"query="query 1"dbQuery="aaa">
    <nodeID="2"query="query 2"dbQuery="bbb"></node>
    <nodeID="3"query="query 3"dbQuery="ccc"></node>
    <nodeID="4"query="query 4"dbQuery="ddd"></node>
    <nodeID="5"query="query 5"dbQuery="eee">
         <nodeID="6"query="query 6"dbQuery="fff"></node>
    </node>
</node>
i sotto nodi possono essere di più o di meno ma mai si va oltre il secondo livello.
Questo file xml lo leggo regolarmente con la funzione:

codice:
privatevoidProcessaSottoNodi(XmlNode node){
    if(node.HasChildNodes)
    {
        foreach(XmlNode cNode in node.ChildNodes)
        {
            Console.WriteLine("{0}", cNode.Name);
            foreach(XmlAttribute attr in cNode.Attributes)
               Console.WriteLine("{0}", attr.Name+" = "+ attr.InnerText);

            Console.WriteLine("-------------------------------");
        ProcessaSottoNodi(cNode);
        }
    } 
}
Però quando provo a modificare il file xml aggiuggendo TextB, TextC, TextF:
codice:
<nodeID="1"query="query 1"dbQuery="aaa">
    <nodeID="2"query="query 2"dbQuery="bbb">TextB</node>
    <nodeID="3"query="query 3"dbQuery="ccc">TextC</node>
    <nodeID="4"query="query 4"dbQuery="ddd">TextD</node>
    <nodeID="5"query="query 5"dbQuery="eee">
         <nodeID="6"query="query 6"dbQuery="fff">TextF</node>
    </node>
</node>
La funzione mentre processa i nodi va in errore nel secondo foreach, perché ??
aggiungendo tra i due foreach il codice:
codice:
Console.WriteLine("{0}", cNode.Name + " = " + cNode.InnerText);
Mi compare "node = TextBTextCTextDTextF" e poi un "#text" e si ferma tutto.
ho provato a cerca nella grande rete ma non sono riuscito a trovare risposta.
o trovo delle semplici funzioni per poter trovare l'innertext o trovo metodi per leggere gli attributi degli elementi.

Grazie mille