gpt4 book ai didi

c# - XPath 和 XPathSelectElement

转载 作者:可可西里 更新时间:2023-11-01 03:02:49 26 4
gpt4 key购买 nike

我有以下 xml

<root>
<databases>
<db1 name="Name1" />
<db2 name="Name2" server="myserver" />
<db3 name="Name3" />
</databases>
<root>

我已经尝试了所有可能的 XPath 查询组合来读取 db2 (="Name2") 的名称,但从未获得预期的结果。

到目前为止我的代码:

var query = "root/databases/db2.. "; // here I've tried everything 
var doc = XDocument.Load("myconfig.xml");
var dbName = doc.XPathSelectElement(query);

获取“Name2”(属性值)的正确查询是什么?

感谢您的帮助。

最佳答案

XPathSelectElement method只能用于选择元素,不能用于选择属性。

对于属性,你需要使用更通用的XPathEvaluate method :

var result = ((IEnumerable<object>)doc.XPathEvaluate("root/databases/db2/@name"))
.OfType<XAttribute>()
.Single()
.Value;

// result == "Name2"

关于c# - XPath 和 XPathSelectElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289784/

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