本以为python读取xml文件和读取excel一样简单,可网上各种教程复杂得一笔。我整理一种简单的xml读取方法。
基于dom.minidom来解析xml文件,是比较友好方便的。
import xml.dom.minidom as xmldom
# 读取xml文件
xml_file = xmldom.parse('xxx.xml')
# 获取xml文件中的元素
eles = xml_file.documentElement
# 获得子标签
subElementObj = elementobj.getElementsByTagName("标签名")
# 区分相同标签名的标签
subElementObj1 = elementobj.getElementsByTagName("标签名")
for i in range(len(subElementObj1)):
print("subElementObj1[i]:", type(subElementObj1[i]))
print(subElementObj1[i].firstChild.data)
#显示标签对之间的数据
上面的程序用起来还是比较麻烦,我写了一个稍微通用的函数,可以读取xml文件中特定的数据
import xml.dom.minidom as xmldom
def parse_xml(fn):
xml_file = xmldom.parse(fn)
eles = xml_file.documentElement
print(eles.tagName)
xmin = eles.getElementsByTagName("xmin")[0].firstChild.data
xmax = eles.getElementsByTagName("xmax")[0].firstChild.data
ymin = eles.getElementsByTagName("ymin")[0].firstChild.data
ymax = eles.getElementsByTagName("ymax")[0].firstChild.data
print(xmin, xmax, ymin, ymax)
return xmin, xmax, ymin, ymax
def test_parse_xml():
parse_xml('loiv3.xml')
if __name__ == "__main__":
test_parse_xml()