c# - 编译一个 xpath 表达式 - 有一个无效的标记

标签 c# .net xml xpath

我正在尝试编译一个动态创建的 xpath 表达式并收到一个异常 - “它有一个无效的 token ”。

text =  GetText(); // has this value: /root/Info/PublisherName1 = "abcd"
XPathResultType result = XPathExpression.Compile(text).ReturnType;

我尝试使用以下代码转义双引号,但仍然收到相同的异常:

text = text.Replace("\"", "\\\"");
text = text.Replace("'", "\\'");

在尝试像上面那样对引号进行转义后,在调试器中看到的字符串中仍然有单引号,但没有显示任何反斜杠。

如何做到这一点?

最佳答案

/root/Info/PublisherName1 = "abcd" 是来自 System.Xml.XPath 命名空间的方法的无效 XPath

我相信您正在寻找这样的东西: /root/Info/PublisherName1[text() = "abcd"]

关于c# - 编译一个 xpath 表达式 - 有一个无效的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37914413/

相关文章:

c# - 如何在针对 XSD 验证 XML 时修复 "Could not find schema..."错误?

c# - 如何隐藏和取消隐藏 XtraTabControl 的页面?

c# - 如何获取xlink :title from xml的属性值

.net - NOLOCK 与多线程

c# - 使用 DataContractSerializer 时遇到问题

html - 使用 XSLT 根据空标签更改周围数据

C# 泛型接口(interface)协方差

c# - WinForms CheckedListBox勾选项数的确定

.net - 在 Microsoft.Win32.OpenFileDialog 上调用 ShowDialog 时出现异常

python - 我可以用 lxml 创建这个 XML 文件吗?