Python的xml.dom.mindom在处理CDATA时候把空格解析为textnode

最近想用python写一个处理RSS的程序,其中有很多节点中的文本是属于CDATA,结果发现minidom在解析该节点时将空格解析为textnode。在google上搜了很久也没发现有问题,再次贴出来提醒大家,以后遇见问题,估计就能搜到这篇文章了。我的python是2.5.2。 xml内容如下: 
<?xml version="1.0" ?>

<booklist>     

       <book>        

               <name><![CDATA[能被正常解析]]></name>         

               <price>55</price>     

        </book>     

        <book>        

                <name>   <![CDATA[不能被正常解析]]>    </name>        

                 <price>66</price>    

         </book> 

</booklist>
python代码如下:
import xml.dom.minidom 

dom = xml.dom.minidom.parse("book.xml") 

nodes = dom.getElementsByTagName("name") 

for n in nodes:     

        print n.firstChild.data
 第一条数据就可以被正常读出,第二条读出来是一些空格,开始是以为字符编码的问题,折腾了很久才发现是因为这个,<![CDATA[能被正常解析]]>必须紧挨着标签,如果有空格或者换行就解析为textnode。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值