2010-10-30 6 views
2

J'ai un fichier xmlObtenir une liste de noeuds qui contient tous les nœuds qui est des nœuds enfants compte est 0

<RTT> 
    <AgencyList> 
     <agency Name="Bart" Ditection="Outbound"> 
      <RouteList> 
       <Route Name="Fremont" Direction="test"> 
        <Stop ID="25" Name="BayFare"/> 
       </Route> 
       <Route Name="SFO" Direction="Test"/> 
       <Route Name="SFO" Direction="Test"/> 
      </RouteList> 
     </agency> 
    </AgencyList> 
</RTT> 

Je voudrais savoir comment obtenir une liste de noeuds qui contient toute la route qui n'a pas d'enfant les noeuds en utilisant C#.

La liste Node par exemple ne doit contenir que

<Route Name="SFO" Direction "Test"> 
<Route Name="SFO" Direction "Test"> 

Répondre

4

L'expression XPath: //Route[not(node())] abordera ces Route éléments.

Il peut être utilisé en C# avec quelque chose comme ceci:

XmlDocument xml = new XmlDocument(); 
xml.Load("RTT.xml"); //adjust correct path/filename 

XmlNodeList xnList = xml.SelectNodes("//Route[not(node())]"); 
foreach (XmlNode xn in xnList) 
{ 
    //Do something with the selected elements 
} 
+0

Merci je l'ai eu de travail – Pawan

Questions connexes