小编Chr*_*ris的帖子

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

我试图做SelectSingleNode一个关于XMLDocument使用XPath表达式.但是,当我搜索的属性值包含多个正斜杠(/)时,它返回null.

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

示例XML

<?xml version="1.0"?>
  <Root>
    <Page Path="/brand" />
    <Page Path="/brand/armada" />
  </Root>
Run Code Online (Sandbox Code Playgroud)

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

XmlNode N = xmlDoc.SelectSingleNode("Root/Page[@Path='/brand']");
Run Code Online (Sandbox Code Playgroud)

此XPath表达式返回null

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

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

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

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

c# xml xpath selectsinglenode

6
推荐指数
1
解决办法
5069
查看次数

标签 统计

c# ×1

selectsinglenode ×1

xml ×1

xpath ×1