包含正斜杠(/)的属性的XPath查询

时间:2011-05-05 09:17:51

标签: c# xml xpath selectsinglenode

我正在尝试使用XPath表达式在SelectSingleNode上执行XMLDocument。但是,当我正在搜索的属性值包含多个正斜杠(/)时,它将返回null。

我找不到任何在线资源来逃避正斜杠。有没有人知道这方面的方法?或者我的语法错误与匹配属性值?

示例XML

<?xml version="1.0"?>
  <Root>
    <Page Path="/brand" />
    <Page Path="/brand/armada" />
  </Root>

此XPath表达式返回正确的节点(例如:上面示例中的第一个)

XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");

此XPath表达式返回null

XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand/armada']");

我在C#,。net 3.5环境中。

编辑:感谢您的回复。我通过在select表达式中使用双正斜杠解决了这个问题。

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");

1 个答案:

答案 0 :(得分:0)

感谢您的回复。我通过在select表达式中使用双正斜杠解决了这个问题。

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");