对于一个 ASP.NET 项目,我编写了一个控制器操作和一个表单,用户可以在其中输入 xpath 表达式并从服务器上的 xml 文件中检索结果。它工作正常,即使使用一些字符串函数,如 concat、substring-before 和 substring-after。
为了去掉输出中的一些逗号,我尝试使用字符串连接和标记化。但是,通过使用其中一个函数,我最终会遇到 XPathException。
XPathDocument doc = new XPathDocument(@"C:\temp.xml");
XPathNavigator navigator = doc.CreateNavigator();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(navigator.NameTable);
nsmgr.AddNamespace("x", "systemInfo");
var temp = navigator.Evaluate("string-join(tokenize('The quick brown fox', ' '), ';')", nsmgr); // Exception
我没有正确使用这些 xpath 函数吗?