2010-11-25 62 views
1

**嗯mabye我問litle奇怪。我如何獲得「標題」類型的所有孩子。XML和LINQ問題找到父親的孩子

有很多類型的兒童的 「標題」

像:

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

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

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

我只需要得到所有 「標題」。我可以得到這與linq和沒有所有循環? 我嘗試用XElement becouse然後輕鬆工作。

用的XElement我可以使用:

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

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

我如何使用這跟的XElement

+0

您可以使用xpath來查找元素。 XML的樣本可能? – 2010-11-25 10:45:54

回答

1

如果總是存在:

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

否則:

root.XPathSelectElement("BiblioDiv/Title") 

避免空引用異常。

1

你的意思是:

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

或:

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

1

您可以使用element.Elements(XName.Get(「標題」))使用指定的名稱來訪問獨生子女elemnts。

+1

`element.Elements(「Title」)`在這種情況下可能更容易 – 2010-11-25 10:52:12