利用C#中的xPath获取节点属性值

4
如果我有以下的xml文件:
<xml>
<data>
<dataset name="X"></dataset>
</data>
</xml>

我该如何在C#中使用XPath检索名称属性的值(即X)?
3个回答

4

我可以用C#中的XPath来检索名称属性(即X)的值。

这个XPath表达式

/xml/data/dataset/@name 

选择所需的属性 -- 所有名为name的属性,这些属性属于XML文档顶级元素的子元素data的子元素dataset

但是,您要获取的是 属性的值,而不是节点本身

以下XPath表达式

string(/xml/data/dataset/@name) 

当计算时,会产生所需的字符串值

在C#中使用XPathNavigator.Evaluate()方法来计算上述表达式。


2
请使用此XPath:
xml/data/dataset/@name

0
请使用以下XPath表达式:
xml/data/dataset

这将检索数据集节点。之后,您可以使用C#工具从节点中检索属性name


如果我知道路径,那就没问题,但对于动态XML内容就不行了。 - user559142
那么你的问题是误导性的。如果你只需要找到具有name属性的元素,请使用@name路径,而不是我上面写的路径。 - Orentet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接