执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
来源:互联网 发布:lol冰狼辅助源码 编辑:程序博客网 时间:2024/05/02 01:31
执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
2012-05-05 10:45:48| 分类:默认分类 | 标签:要命名空间管理器 xsltcontext 此查询具有前缀 |举报|字号大中小 订阅
如果 XPath 表达式包含前缀,则必须将前缀和命名空间 URI 对添加到 XmlNamespaceManager 中。
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
例子:
xml文件内容:
<?xml version="1.0"?>
<roots weight="3" xmlns:sml="www.sdkd.net.cn">
<sml:root leaf="a">1111</sml:root>
<sml:root leaf="b">2222</sml:root>
<sml:root leaf="c">3333</sml:root>
<sml:root leaf="de">3333</sml:root>
<sml:root leaf="d">4444</sml:root>
<sml:root leaf="e">5555</sml:root>
<sml:root leaf="f">6666</sml:root>
<sml:root leaf="g">7777</sml:root>
<sml:root leaf="h">8888</sml:root>
<sml:root leaf="i">9999</sml:root>
<sml:root leaf="j">0000</sml:root>
</roots>
程序:
XmlDocument doc = new XmlDocument();
doc.Load("a.xml");
XmlNode root = doc.DocumentElement;
XmlNamespaceManager nsp = new XmlNamespaceManager(doc.NameTable);
nsp.AddNamespace("sml", "www.sdkd.net.cn");
XmlNodeList a = root.SelectNodes("child::sml:root[starts-with(@leaf,'d')]",nsp);
Console.WriteLine("Find " + a.Count.ToString());
foreach (XmlNode e in a)
{
Console.WriteLine(e.InnerText);
}
以上程序中使用到了sml前缀,因此需要添加命名空间管理
XmlNamespaceManager 类包含命名空间 URI 及其前缀的集合。它允许解析、添加和移除集合中的命名空间。某些上下文需要此类以提高 XML 处理性能。例如,XsltContext 类使用 XmlNamespaceManager 以支持 XPath。
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
- 企业管理器打开某个数据表时提示:无法执行查询,因为一些文件缺少或未注册
- JDOM2.0.5版本通过xpath读取xml或读取带有命名空间的xml
- VC++导出具有命名空间的函数
- Python中的变量有作用域或命名空间及locals()与globals()函数
- 查看一个宏(或变量、函数)的宏定义
- JSP声明定义网页范围的变量、函数或类
- 编译不通过:提示XXXX不是类或命名空间名
- 使用XPath查询带有命名空间(有xmlns)的XML
- 解决已封装好类,调试的提示不是类或命名空间
- 找不到列 "dbo" 或用户定义的函数或聚合 "dbo.xxx",或者名称不明确。
- 引用System.Runtime.Serialization.Json 提示 命名空间 不存在类型或命名空间名称 json
- 引用System.Runtime.Serialization.Json 提示 命名空间 不存在类型或命名空间名称 json (
- Win7 开发WCF时 提示 进程不具有此命名空间的访问权限
- Win7 开发WCF时 提示 进程不具有此命名空间的访问权限
- 函数定义命名空间的使用
- std命名空间或名字空间的相关知识
- std命名空间或名字空间的相关知识
- 大数据可视化小结
- java DOM4J 无限连解析XML
- CentOS 5 web server由apche切换为nginx
- const用法大全
- 黑马程序员_基础加强_JavaBean与内省
- 执行xpath时提示,需要命名空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数
- 一线触摸有没有劫持了LCD显示屏?
- JSP脚本元素区别
- LeetCode主题整理(4)链表及相关问题
- LINUX计算器BC用法一二
- android 屏幕横竖屏切换 小结
- cmu 1月小结
- 黑马程序员_基础加强_注解
- 4.1 Python中的序列操作