2009-11-23 138 views
2

我可以使用XPath來選擇其代碼包含英國的國家節點嗎?C#:XPath選擇節點的屬性包含一個子串?

<country-list> 
    <Country code="TW,UK,MY" /> 
    <Country code="US,CA,MX" /> 
    <Country code="IN,PR,VI,IR" /> 
    <Country code="Others" /> 
</country-list> 

謝謝。

+0

只是好奇你爲什麼接受答案時,答案並沒有真正解決你的問題? – 2009-11-24 03:21:17

回答

12

嘗試 XPath函數。

喜歡的東西:

/Country[fn:contains(@code, "UK")] 

快速谷歌搜索變成了細節上的XPath功能: http://www.w3schools.com/xpath/xpath_functions.asp

+0

感謝您的協助。 – Ricky 2009-11-23 09:38:22

+0

你好,我遇到這個錯誤: [System.Xml.XPath.XPathException] = {「命名空間管理器或需要XsltContext此查詢具有前綴,變量或用戶定義函數」} 我怎麼能得到解決它? – Ricky 2009-11-23 09:53:06

+4

這是'fn:'命名空間前綴。嘗試刪除。 – Brannon 2009-11-25 17:37:21

1

你可以使用LINQ到XML - 就像一個想法

事情是這樣的:

var countryElement = from country in countryElement.GetAttribute("code") 
    where country.Value.Contains("UK") 
    select countryElement; 
0

是,這樣做

//Country[contains(@code, 'UK')] 

其選擇的第一個國元

2

Y你需要這樣寫:

/country-list/Country[contains(@code,'UK')] 
相關問題