我正在尝试使用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环境中。

编辑:感谢您的答复。我通过在选择表达式中使用双正斜杠解决了该问题。
XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");

最佳答案

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

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

关于c# - XPath查询包含正斜杠(/)的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5895305/

10-15 07:49