gpt4 book ai didi

.net - 如何将 XPath 与 XElement 或 LINQ 一起使用?

转载 作者:数据小太阳 更新时间:2023-10-29 01:36:53 25 4
gpt4 key购买 nike

考虑以下 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;

但这行不通。是否可以向 XElement 提供 XPath 查询?我可以用旧的 System.Xml 来做框架,做类似的事情:

xml.Node("/response/data/hash").Value

LINQ 命名空间中是否有类似的东西?


更新:

在反复研究之后,我找到了一种方法来做我想做的事情:

var hash = xml.Descendants("hash").FirstOrDefault().Value;

我仍然有兴趣看看是否有人有更好的解决方案?

最佳答案

要将 XPath 与 LINQ to XML 一起使用,请为 System.Xml.XPath 添加一个 using 声明,这将带来 System.Xml.XPath.Extensions 的扩展方法。进入范围。

在你的例子中:

var value = (string)xml.XPathEvaluate("/response/data/hash");

关于.net - 如何将 XPath 与 XElement 或 LINQ 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3642829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com