我正在尝试编译一个动态创建的 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/