python 用ElementTree 模块处理xml文件

遇到一个问题,将xml文件的内容读取出来,转换为可以大家可以理解的文本文件。

下面先说说怎样从xml文件中获取相关信息。


#CREATE TABLE static_jd_accnbr_seg_yy(PROVINCE_CODE VARCHAR2(10),CITY_CODE VARCHAR2(10),PUB_DATE VARCHAR2(10),PUB_BATCH_NO VARCHAR2(20),DNSEG_TYPE VARCHAR2(4),DNSEG_NUM VARCHAR2(4),DNSEG VARCHAR2(10));
#coding:utf-8
import os
import xml
import xml.etree.ElementTree as ET
import glob
import cx_Oracle


class DEAL_XML:
    def load_xml_file(self,file_name):
        root = ET.parse(file_name).getroot()
        #intro = root.find('intro').text
        #print intro
        #all_users = root.findall('OBLIGATE_INFO_REQ')
        #获取根节点
        OBLIGATE_INFO_REQ_node = root.find('OBLIGATE_INFO_REQ')
        #print OBLIGATE_INFO_REQ_node
        OBLIGATE_INFO_REQ_node = OBLIGATE_INFO_REQ_node.find('OBLIGATE_INFO_LIST')
        #print OBLIGATE_INFO_REQ_node
        OBLIGATE_INFO_nodes = OBLIGATE_INFO_REQ_node.findall('OBLIGATE_INFO')
        #print OBLIGATE_INFO_nodes
        for OBLIGATE_INFO_node in OBLIGATE_INFO_nodes:
            PROVINCE_CODE=OBLIGATE_INFO_node.find('PROVINCE_CODE').text
            CITY_CODE=OBLIGATE_INFO_node.find('CITY_CODE').text
            PUB_DATE=OBLIGATE_INFO_node.find('PUB_DATE').text
            PUB_BATCH_NO=OBLIGATE_INFO_node.find('PUB_BATCH_NO').text
            #print PROVINCE_CODE,CITY_CODE,PUB_DATE,PUB_BATCH_NO
            DNSEG_INFO_node = OBLIGATE_INFO_node.find('DNSEG_INFO')
            DNSEG_TYPE = DNSEG_INFO_node.find('DNSEG_TYPE').text
            DNSEG_NUM = DNSEG_INFO_node.find('DNSEG_NUM').text
            DNSEG_LIST_node = DNSEG_INFO_node.find('DNSEG_LIST')
            DNSEG_nodes = DNSEG_LIST_node.findall('DNSEG')
            for DNSEG_node in  DNSEG_nodes:
                print PROVINCE_CODE,CITY_CODE,PUB_DATE,PUB_BATCH_NO,DNSEG_TYPE,DNSEG_NUM,DNSEG_node.text



def main(self):


if __name__ == '__main__':
    jd_xml=DEAL_XML()
    jd_xml.load_xml_file('e:\\406_JCYL_20140423_0001.REQ')






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值