2010-11-25 5 views
1

** hmm mabye ich fragte wenig seltsam. Wie bekomme ich alle Kind vom Typ "Titel".XML und linq Frage zu Kind des Vaters zu finden

Es gibt viele Kinder vom Typ "Titel"

Like:

- <BiblioDiv> 
    <Title>**</Title> 

- <BiblioDiv> 
    <BiblioAsk> 
    <Title>***</Title> 

- <BiblioEntry> 
    <BiblioDiv> 
    <Title>**</Title> 

Ich brauche nur alle "Titel" zu bekommen. Kann ich das mit Linq und ohne alle Loops bekommen? Ich versuche es mit XElement, weil es dann einfach ist mit zu arbeiten.

Mit XElement i verwenden:

XmlDocument doc = new XmlDocument(); 
doc.LoadXml(xml); 

XmlNodeList nodeList = doc.GetElementsByTagName("Title"); 

Wie kann ich diese verwenden, um mit XElement

+0

Sie können xpath verwenden, um das Element zu finden. Ein Beispiel für das XML vielleicht? –

Antwort

1

Wenn es existiert immer:

root.Element("BiblioDiv").Element("Title") 

Ansonsten:

root.XPathSelectElement("BiblioDiv/Title") 

vermeidet NULL-Verweis Ausnahmen.

1

tun Sie nach:

var child = element.Element("Title"); 

oder:

var child = elements.Elements("BiblioDiv").First().Element("Title"); 

?

1

Sie können element.Elements (XName.Get ("Titel")) verwenden, um nur auf untergeordnete Elemente mit dem angegebenen Namen zuzugreifen.

+1

'Element.Elements (" Titel ")' ist wahrscheinlich in diesem Szenario einfacher –