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

发布于 2024-11-05 05:38:59 字数 788 浏览 4 评论 0原文

我正在尝试使用 XPath 表达式对 XMLDocument 执行 SelectSingleNode 。但是,当我正在搜索的属性值包含多个正斜杠 (/) 时,它会返回 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']");

I'm trying to do a SelectSingleNode on an XMLDocument using an XPath expression. However, when the attribute value that I'm searching contains multiple forward slashes (/), it returns null.

I can't find any resources online for escaping the forward slash. Does anyone know a way around this? Or have I got my syntax all wrong for matching the attribute value?

Example XML

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

This XPath expression returns the correct node (e.g.: the first one in the above sample)

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

This XPath expression returns null

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

I'm in a C#, .net 3.5 environment.

EDIT: Thanks for the responses. I solved the issue by using a double forward slash in the select expression.

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

今天小雨转甜 2024-11-12 05:38:59

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

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

Thanks for the responses. I solved the issue by using a double forward slash in the select expression.

XmlNode N = xmlDoc.SelectSingleNode("Root//Page[@Path='/brand/armada']");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文