6

我正在尝试SelectSingleNode使用XMLDocumentXPath 表达式进行操作。但是,当我正在搜索的属性值包含多个正斜杠 (/) 时,它返回 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 环境中。

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

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

1 回答 1

1

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

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");
于 2016-03-23T14:41:17.987 回答