爱链笔记-xml操作

之前我说过提取一个xml格式的数据,用的是正则表达式,不过这样很不专业。一般读取xml格式的数据有两种,第一种是DOM,第二种是SAX。对于比较小的文件使用DOM是比较好的选择。

微信支付prepayid得到的返回数据如下(命名为dom):

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code> 
  <return_msg><![CDATA[OK]]></return_msg> 
  <appid><![CDATA[wx8888888888888888]]></appid> 
  <mch_id><![CDATA[10012345]]></mch_id> 
  <nonce_str><![CDATA[Be8YX7gjCdtCT7cr]]></nonce_str> 
  <sign><![CDATA[885B6D84635AE6C020EF753A00C8EEDB]]></sign> 
  <result_code><![CDATA[SUCCESS]]></result_code> 
  <prepay_id><![CDATA[wx201410272009395522657a690389285100]]></prepay_id> 
  <trade_type><![CDATA[JSAPI]]></trade_type>
</xml>

首先引入dom的包

import xml.dom.minidom 

得到xml文档

root = dom.documentElement

这里我们只需要得到标签内的数据,而且该xml数据结构简单,使用如下语句即可:

itemlist1 = root.getElementsByTagName('prepay_id')

item1 = itemlist1[0]

prepay_id=item1.firstChild.data

这样我们就得到了标签之间的数值。当然,DOM中还有很多别的操作,这里我还用不着,可以在网上看看资料。

原文地址:https://www.cnblogs.com/yzc0709/p/9801505.html