python 解析xml文件

Posted 缘随风烬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 解析xml文件相关的知识,希望对你有一定的参考价值。

一简单的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!-- This is TableName -->
<tables>
    <table>
        <name name = "mydb" field = "asd">
        </name>
        <field name1 = "mydb" field1 = "eas">
        </field>
        <neighbor name2="mydb" field2="xxx">
        </neighbor>
        <neighbor name3="mydb" field3="asdf">
        </neighbor>
    </table>
</tables>    

 

python解析文件

# -*- coding=utf-8 -*-
import xml.etree.ElementTree as ET

tree = ET.ElementTree()             # 实例化
tree.parse("./test.xml")
root = tree.getroot()
lists = {}
for child in root:
    for sub in child:
        lists.update(sub.attrib)    # 合并字典,为了防止因相同键名,而使字典的值被覆盖掉,所以在写xml时,键名都是区分开的
alister = []
namelist = []
datalist = []
for i in lists.values():
    alister.append(i)
namelist = alister[::2]     # 获取列表的奇数项,即获得表名
datalist = alister[1::2]    # 获取列表的偶数项,即获得字段名
for i in range(len(namelist)):
    print(namelist[i], datalist[i])

运行结果

以上是关于python 解析xml文件的主要内容,如果未能解决你的问题,请参考以下文章

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

如何在 python 代码中解析多个 xml 文件?

从流输入中解析没有根元素的 XML 片段列表

python使用ElementTree解析XML文件

在Tomcat的安装目录下conf目录下的server.xml文件中增加一个xml代码片段,该代码片段中每个属性的含义与用途

DOM解析xml文件