2013-05-27 30 views
1

我的XElement X的XElement XPathSelectElements C#不適合工作,我

<projects><project><id>2</id><name>Project A</name></project> 
<project><id>7</id><name>Blue-Leafed Project B</name></project></projects> 

比我現在用的是XPathSelectElements並期望得到2個節點:

var projects = x.XPathSelectElements("/projects/project"); 

result = null;

我也試圖稍微改變XPath

result = null; 

這有什麼問題?

+1

Nothing ...順便說一句:什麼是結果? – I4V

回答

0

你可以試試這個:

var projects = x.XPathSelectElements("./projects/project"); 
+0

OP的代碼已經可用。不需要'.' – I4V

1

什麼是最有可能的情況是,您加載您的文檔作爲XElement,因此x已經提到根節點projects。您的查詢必須與該節點相關,並且該節點顯然沒有projects孩子。你要選擇子相對project元素,你projects節點,以便您的查詢應該是:

var projects = x.XPathSelectElements("project"); 

雖然在這種情況下,你並不真的需要使用XPath,只需使用Elements()方法來代替。

var projects = x.Elements("project"); 

通常應該使用XDocument對象加載文檔而不是XElement,否則你會碰到這類問題。