当前位置:  开发笔记 > 编程语言 > 正文

xpath和c#

如何解决《xpath和c#》经验,为你挑选了1个好方法。

我正在尝试创建一个搜索XML文档的winform应用程序.对于我的搜索,我需要通过使用小写()xpath函数将xpath条件中的XML属性转换为小写.这会导致与函数名称空间相关的问题.

我试图手动添加名称空间:

        XmlNamespaceManager nsMgr = new XmlNamespaceManager(prs.Doc.NameTable);
        nsMgr.AddNamespace("fn", "http://www.w3.org/2005/02/xpath-functions");
        XmlNodeList results = prs.Doc.SelectNodes("//function[starts-with(fn:lower-case(@name),'" + txtSearch.Text + "')]",nsMgr);

但我仍然遇到异常:由于函数未知,此查询需要XsltContext.



1> Dimitre Nova..:

lower-case()函数是为XPath 2.0定义的.

在XPath 1.0中将translate()字母转换为小写字母仍然可以使用如下所示函数:

translate(@attrName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',                                       'abcdefghijklmnopqrstuvwxyz')

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有