码迷,mamicode.com
首页 > 其他好文 > 详细

解析xml文件 selectSingleNode取不到节点(转)

时间:2019-02-15 15:24:49      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:bar   pos   box   data-   led   ace   post   etag   content   

解析xml文件 selectSingleNode取不到节点

在解析xml文件的时候按照原来的方法使用selectSingleNode取不到节点。xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<CwapMessage xmlns="http://wap.homeinns.com/cwap">
<version>1.0</version>
<TxtMsgMessage>
     <DateTag>2012-5-30</DateTag>
       <Table>
       <rate>0.75</rate>
       <DY>2012-5-30 0:00:00</DY>
       <hotelcd>057104</hotelcd>
       <strmtypecd>B1</strmtypecd>
       </Table>
</TxtMsgMessage>
</CwapMessage>

解析代码:

System.Xml.XmlNode nodes = doc.SelectSingleNode("/CwapMessage/TxtMsgMessage/Table/rate");

doc为获取到上边xml的xmlDocument对象,取到的nodes总为null,经过在网上搜索,发现,关键是因为 这段xml 加的有命名空间,即:xmlns="http://wap.homeinns.com/cwap"。

所以,在解析的时候也需要把命名空间加上,才能解析到。做法如下:

System.Xml.XmlNamespaceManager nsmgr = new System.Xml.XmlNamespaceManager(doc.NameTable);
            nsmgr.AddNamespace("ns", "http://wap.homeinns.com/cwap");
            System.Xml.XmlNode root = doc.SelectSingleNode("ns:CwapMessage/ns:TxtMsgMessage/ns:Table/ns:rate", nsmgr);

解析xml文件 selectSingleNode取不到节点(转)

标签:bar   pos   box   data-   led   ace   post   etag   content   

原文地址:https://www.cnblogs.com/yasepix/p/10383647.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!