浅谈Python大神都是这样处理XML文件的

yipeiwu_com6年前Python基础

最近有同学询问如何利用Python处理xml文件,特此整理一个比较简洁的操作手册,供大家参阅。

首先准备一个xml文件,xml中的内容如下所示。存储为:student.xml

如果要获取这个xml里面的数据,我们需要利用Python里面ElementTree来进行处理。

具体操作如下所示:

1、导入包(包是Python内置自带)

2、打开文件,并获取根节点的属性和节点名称

运行代码后,结果如下所示:

3、利用find方法获取子节点(缺点:只能根据提供的名称获取第一个子节点)

运行结果如下所示:

4、利用findall方法获取所有子节点,返回的节点会存在一个列表里面

运行的结果如下所示:运行的结果如下所示:

5、利用findall方法获取所有三级子节点,返回的节点会存在一个列表里面

运行结果如下所示:

6、利用遍历的方法去直接遍历子节点里面的所有元素

运行结果如下所示:

至此我们的xml的处理已经完全结束啦!

给大家留下一个练习题: 有一个xml的文件。内容如下,保存为:UILibrary.xml

针对上述xml文件,要求如下:

◆ 写一XmlUtil类

里面写一个函数:get_page

传递一个参数file_path

实现元素的读取,返回列表形式的数据,并且列表里面存储每个page节点的信息;

◆ 写一个page类

有2个属性:page_key_word,

存储页面信息;uiElement存储列表数据

◆ 写一个UiElement类

有1个属性:存储列表类型的数据,把每一个信息作为列表里面的一个数据。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 将RGB图像转换为Pytho灰度图像的实例

问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度。 在matlab中,我使用这个: img = rgb2gray(imread('image.png'));...

py中的目录与文件判别代码

>>> import os          &...

pyqt5中QThread在使用时出现重复emit的实例

在PyQt5中使用QThread的时候,要注意把所有QThread的对象在主类中的init(或者放在所有类函数的外面)中进行实例化,不然可能在多个QThread互相调用的时候,emit重...

python实现最长公共子序列

python实现最长公共子序列

最长公共子序列python实现,最长公共子序列是动态规划基本题目,下面按照动态规划基本步骤解出来。 1.找出最优解的性质,并刻划其结构特征 序列a共有m个元素,序列b共有n个元素,如果a...

Python 如何提高元组的可读性

这篇文章主要介绍了Python 如何提高元组的可读性,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 假设学生系统中数据为固定格式:(名...