Dot-Net
如何將 XPath 與 XElement 或 LINQ 一起使用?
考慮以下 XML:
<response> <status_code>200</status_code> <status_txt>OK</status_txt> <data> <url>http://bit.ly/b47LVi</url> <hash>b47LVi</hash> <global_hash>9EJa3m</global_hash> <long_url>http://www.tumblr.com/docs/en/api#api_write</long_url> <new_hash>0</new_hash> </data> </response>我正在尋找一種非常短的方法來獲取
<hash>元素的值。我試過了:var hash = xml.Element("hash").Value;但這行不通。是否可以向 提供 XPath 查詢
XElement?我可以使用較舊的System.Xml框架來做到這一點,例如:xml.Node("/response/data/hash").ValueLINQ 命名空間中有類似的東西嗎?
更新:
在胡思亂想之後,我找到了一種方法來做我想做的事情:
var hash = xml.Descendants("hash").FirstOrDefault().Value;我仍然有興趣看看是否有人有更好的解決方案?
要將 XPath 與 LINQ to XML 結合使用,請添加 using 聲明 for
System.Xml.XPath,這會將 的擴展方法System.Xml.XPath.Extensions納入範圍。在您的範例中:
var value = (string)xml.XPathEvaluate("/response/data/hash");