SelectNodes,SelectSingleNode总是返回NULL

原文地址:http://www.cnblogs.com/linlf03/archive/2011/11/30/2268705.html

下面以一个简单的xml为例:

<?xml version="1.0"?> <message xmlns="http://www.mydomain.com/MyDataFeed" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance 
xsi:schemaLocation="http://www.mydomain.com/MyDataFeed https://secure.mydomain/MyDataFeed/myDataFeed.xsd" 
requestId="13898" status="1"> <error>Invalid Login</error> </message>

下面尝试读取error节点的内容

XmlNode errorNode = xmldoc.SelectSingleNode("/message/error"); if (errorNode != null) Console.Writeline("There is an error");

返回的结果一直为Null

产生这个问题的原因就在于上面的xml文档中使用了命名空间,当xml中定义了命名空间时,在查找节点的时候需要使用下面的方法

XmlNamespaceManager nsMgr = new XmlNamespaceManager(xmldoc.NameTable); nsMgr.AddNamespace("ns", "http://www.mydomain.com/MyDataFeed");XmlNode errorNode = xmldoc.SelectSingleNode("/ns:message/ns:error", nsMgr);

如果直接想定位到error,而不是从根开始,需要写为

xmldoc.SelectSingleNode("//ns:error", nsMgr); 

感谢: http://stackoverflow.com/questions/1766254/selectsinglenode-always-returns-null

转载于:https://www.cnblogs.com/KevinJasmine/p/4528679.html

C#操作xml SelectNodes,SelectSingleNode总是返回NULL相关推荐

  1. ActionScript 3操作XML 详解

    AS3引入了E4X ,它是根据ECMAScript标准处理XML 数据的全新机制.这使得程序员在程序中无缝地操作XML.在AS3中可以使用XML字面值将XML数据直接写入代码,该字面值将被自动解析. ...

  2. 第十三章、C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)...

    XML文档是一种通用的文档,这种文档既可以用.config作为后缀也可以用.xml作为后缀.XML文档主要由元素节点和节点的属性共同构成的.它有且仅有一个根节点,其他的节点全部都是根节点的子节点或者子 ...

  3. 我错了,有个叫 SelectSingleNode 的可以操作 xml

    我错了,有个叫 SelectSingleNode 的可以操作 xml http://blog.csdn.net/wf520pb/article/details/2644549 ------------ ...

  4. mysql查询返回xml格式_MySQL数据库查询操作XML的经验分享

    mysql里面有内置的操作xml的函数.分别是ExtractValue()和UpdateXML()函数. 语法:1EXTRACTVALUE (fiedname, XPathstring); 第一个参数 ...

  5. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  6. .net操作xml小结 (转)

    .net操作xml小结 一.简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml ...

  7. 生成xml_Java操作XML

    Java中有两种解析XML文件的方式:DOM解析和SAX解析. 一.使用DOM4j进行XML的DOM解析 DOM解析是一次性将整个XML文档加载进内存,在内存中构建Document的对象树,通过Doc ...

  8. VC++中操作XML(MFC、SDK)

    VC++中操作XML(MFC.SDK) XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作 ...

  9. Dom4j操作XML

    dom4j帮助文档在dom4j-1.6.1/docs/guide.html文件里面,全部是英文,但是基本上应该能看懂. 1.  四种操作xml的方式:SAX,DOM,JDOM,DOM4J. 2.  D ...

最新文章

  1. NC:中科院动物所王关红等综述基因技术防控蚊媒疾病
  2. 解决 C3P0 中文乱码问题
  3. Java 获取当前时间
  4. linux执行jar包命令没有主清单熟悉,jar命令成功完成 java -jar 命令却提示“没有主清单属性”!...
  5. 机器学习朴素贝叶斯算法+tkinter库界面实现好瓜坏西瓜分类
  6. Docker 系列之 常用镜像
  7. 路由器的地址转换功能
  8. 3.MongoDB uri中包含特殊字符与读策略配置
  9. rabbitmq 笔记
  10. xampp 可道云_利用xampp+可道云KodExplorer本地搭建私有云
  11. 第三章 pro2信道编码咬尾卷积编码与维特比硬判决译码
  12. “拼多多”的假面人生
  13. 算法题目打卡:Ques20201019
  14. mysql packet_mysql配置: max_allowed_packet
  15. 手机连接Fiddler后无法上网问题解决
  16. 06-navicat备份数据库文件.psc和.nb3文件的区别
  17. 麻省理工大学公开课学习笔记【1、算法分析】
  18. 为什么小程序getUserInfo获取的微信名称是“微信用户“?2.10.4词库之后如何渲染微信名称,微信头像和获取个人信息?
  19. PTA 哈夫曼树与哈夫曼编码
  20. 防止XSS漏洞攻击常用解决方案

热门文章

  1. jquery 把元素移动到另外一个元素里面
  2. Tomcat假死的原因及解决方案
  3. span标签显示固定长度显示省略号,光标放上显示全部
  4. Win10文件夹大小分析、磁盘空间清理工具
  5. 【Luogu1048】采药
  6. 测试操作数据库mysql数据库吗_软件测试-MySQL(六:数据库函数)
  7. 分布式微服务开发_想要精通分布式微服务架构?你得先学会设计、原理与实战...
  8. C#foreach循环的优点
  9. 人群与网络:新事物在网络中的扩散
  10. Tarjan边的双联通