#coding=utf-8
#author:wsy
Date: 2019 / 9 / 19
Time: 13:57
tag:string对象,表示数据代表的种类,当为节点时为节点名称。
text:string对象,表示element的内容。
attrib:dictionary对象,表示附有的属性。
tail:string对象,表示element闭合之后的尾迹。
若干子元素(child elements)。
path=‘C:/Users/dell/Desktop/exl_file/’
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
1. 从文件中解析xml文件
tree = ET.ElementTree(file=path+‘doc.xml’) # 载入数据
root = tree.getroot() # 获取根节点
import 数据库连接 as ds
local_data=ds.data_souce()
2. 从内存字符串中解析xml
root = ET.fromstring(ds.data_souce())
import xml
import xml.etree.ElementTree as ET
“”"
实现从xml文件中读取数据
“”"
全局唯一标识
unique_id = 1
遍历所有的节点
def walkData(root_node, level, result_list):
global unique_id
temp_list = [unique_id, level, root_node.tag, root_node.attrib,root_node.text]
result_list.append(temp_list)
unique_id += 1
# 遍历每个子节点
children_node = root_node.getchildren()
if len(children_node) == 0:
return
for child in children_node:
walkData(child, level + 1, result_list)
return
def getXmlData(file_name):
level = 1 # 节点的深度从1开始
result_list = []
root = ET.parse(file_name).getroot()
walkData(root, level, result_list)
return result_list
if name == ‘main’:
# ‘d:\fenlei2.xml’
file_name = path+‘test_medical.xml’
R = getXmlData(file_name)
for x in R:
print(x)