Ciao a tutti,
non sono un' espertone di c# e di XML, mi sono cimentato
nel creare un software che ha come base dati un file XML.
Il problema è che non riesco, dato un valore, a fare il next ed il previous sui nodi.
Ho fatto un po di prove è ho ottenuto un discreto risultato,
usando NextSibling e PreviousSibling riesco a iterare.
Ma se il nodo contiene un elemento con valore ad "A" non dovrebbe visualizzarlo invece....

posto il codice che forse è meglio...

in rosso il problema
codice:
.......

XmlDocument rootnode = new XmlDocument();
rootnode.Load(xdocpath);
XmlNode nodeset = rootnode.DocumentElement;
XmlNode nnext;
XmlNodeList nnnext;
XmlNode h;
XmlNode o;
string k;
nnnext = nodeset.SelectNodes("/nodorut/figli[codicefn='" + coderef + "' and stators='A']");
foreach (XmlNode n in nnnext)
{
    if (tpact == "S")
    {
        h = n.NextSiblingPreviousSibling;
        Console.WriteLine(h.InnerText);
    }
    else if (tpact == "P")
    {
        h = n.PreviousSibling;
        k = h.SelectSingleNode("/nodorut/figli[stators='A']").InnerText;
        if (k == "A")
        { 
            Console.WriteLine(h.InnerText);
        }
    }
    else
    {
        h = n;
        Console.WriteLine(h.InnerText);
    }
}
FILE XML:
codice:
<!DOCTYPE nodorut[                      
<!ELEMENT nodorut (figli+)>             
<!ELEMENT codicefn (#PCDATA)>           
<!ELEMENT nome (#PCDATA)>               
<!ELEMENT eta (#PCDATA)>                
<!ELEMENT stators (#PCDATA)>            
<!ATTLIST figli codicefn ID #REQUIRED>  
<!ATTLIST figli stators CDATA #REQUIRED>
]>                                      
<nodorut>                               
	<figli>                               
		<codicefn>234a</codicefn>           
		<nome>pippo</nome>                  
		<eta>10</eta>                       
		<stators>d</stators>                
	   </figli>                           
	<figli>                               
		<codicefn>235a</codicefn>           
		<nome>pluto</nome>                  
		<eta>15</eta>                       
		<stators>a</stators>                
	</figli>                              
	<figli>                               
		<codicefn>236a</codicefn>           
		<nome>nello</nome>                  
		<eta>13</eta>                       
		<stators>a</stators>                
	</figli>                              
</nodorut>
dove sbaglio?
Grazie a tutti