.NET SelectNodes()是否允许您选择属性?

时间:2011-03-10 07:36:09

标签: .net xml xpath selectnodes

它是否提取Xpath支持的所有节点类型?我打电话时似乎是

的selectNodes( “@”)

它只返回包含属性的元素,但我想获取属性列表本身。换句话说,我希望结果节点集合只包含Attr类型的节点......但这似乎不起作用。

3 个答案:

答案 0 :(得分:1)

foreach(selectNodes中的XmlAttribute att(“ * / @ * ”))   ...

答案 1 :(得分:0)

来自文档:

  

选择与之匹配的节点列表   XPath表达式。

属性(属性节点)

  

获取XmlAttributeCollection   包含此属性   节点

http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.attributes.aspx

获取文档中的所有属性(我认为这是您要做的事情?)您可能想尝试

的selectNodes( “@ *”)

答案 2 :(得分:0)

用于选择上下文节点的属性的正确XPath语法是:

@*

attribute::*

但请注意,只有元素可能具有属性。因此,如果上下文节点是文档根目录,那么当然不会选择任何内容。

如果您想要文档中的所有属性,请使用:

//@*

这将扩展为:

/descendant-or-self::node()/attribute::*