遇到一个问题,将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')