C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
2016-11-12 22:40
471 查看
1. SelectNodes,SelectSingleNode总是返回NULL
下面以一个简单的xml为例:
下面尝试读取error节点的内容
返回的结果一直为Null
产生这个问题的原因就在于上面的xml文档中使用了命名空间,当xml中定义了命名空间时,在查找节点的时候需要使用下面的方法
如果直接想定位到error,而不是从根开始,需要写为
下面以一个简单的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);
相关文章推荐
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍
- C#操作XML- SelectSingleNode总是返回NULL
- C#操作xml SelectNodes,SelectSingleNode xmlns 总是返回NULL 与 xPath 介绍
- 黄聪:C#操作xml SelectNodes,SelectSingleNode通过 xPath 定位class包含Contains的DIV
- C# XML SelectNodes/SelectSingleNode
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- c# xml XPath SelectNodes, SelectSingleNode 无法获取
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- c# 操作Xml中SelectSingleNode方法中的xpath用法
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL 与 xPath 介绍