您的位置:首页 > 编程语言 > Python开发

python 用ElementTree 模块处理xml文件

2014-10-27 16:54 218 查看
遇到一个问题,将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')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: