SelectNodes 属性包含撇号
我正在尝试使用 SelectNodes,其中属性包含带撇号的文本
该属性是 oor:path 并且节点如下所示:
<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/OrderList">
我已尝试使用此代码(但失败)...
XmlNodeList xnList = xml.SelectNodes("/oor:items/item[contains(@oor:path, '['PickList']/OrderList')]", nsMgr);
请帮助!
// 安德斯
I'm trying to use SelectNodes where an attribute is containing a text with apostrophes
The attribute is oor:path and the node looks like this:
<item oor:path="/org.openoffice.Office.Histories/Histories/org.openoffice.Office.Histories:HistoryInfo['PickList']/OrderList">
I have tried with this code (and failed)...
XmlNodeList xnList = xml.SelectNodes("/oor:items/item[contains(@oor:path, '['PickList']/OrderList')]", nsMgr);
Please Help!
// Anders
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
'
实体在 XPath 解析器可以看到它们之前被解析为单引号。因此,从它的角度来看,它们无法与“真正的”单引号区分开来。您可以使用转义双引号分隔
contains()
的参数,并在表达式中使用单引号:或者,也可以使用逐字字符串文字:
The
'
entities are resolved into single quotes before the XPath parser can see them. Therefore, from its point of view, they cannot be distinguished from "real" single quotes.You can delimit the argument to
contains()
with escaped double quotes and use single quotes in the expression:Or, alternatively, using a verbatim string literal:
您可以使用:
基于 XSLT 的验证:
当此转换应用于以下 XML 文档时:
所需的、正确选择的节点被复制到输出:
You can use:
XSLT - based verification:
when this transformation is applied on the following XML document:
The wanted, correctly selected node is copied to the output: