下面是详细讲解python读写xml文件的攻略。
1. Python读取XML文件
Python可以使用xml.etree.ElementTree模块来读取和解析XML文件。
首先,我们需要用ElementTree库的parse函数读取一个XML文件,获得一个Element对象,代码示例如下:
import xml.etree.ElementTree as ET
tree = ET.parse('testing.xml')
root = tree.getroot()
# 打印根元素的标签名
print(root.tag)
代码中,我们使用parse函数读取testing.xml文件,获取了文件的根元素,并打印其标签名。这时输出结果应该是 data
。
如果我们要遍历读取整个XML文件中的信息,可以使用Element对象的相关方法:
# 遍历XML文件
for child in root:
print(child.tag, child.attrib)
for sub_child in child:
print(sub_child.tag, sub_child.text)
这个示例中,我们通过遍历Element对象中的子元素,打印出了XML文件中每个元素的标签名和属性,以及每个元素的子元素标签名和文本内容。
2. Python写入XML文件
Python也可以使用xml.etree.ElementTree模块来写入XML文件。
首先,我们需要创建一个ElementTree对象,然后根据数据构造XML文件的数据结构,并使用write函数将XML数据写入到指定文件中,代码示例如下:
import xml.etree.ElementTree as ET
# 创建ElementTree对象和根元素root
tree = ET.ElementTree()
root = ET.Element('data')
tree._setroot(root)
# 创建子元素
child1 = ET.SubElement(root, 'country', {'name': 'Liechtenstein'})
sub_child1 = ET.SubElement(child1, 'rank')
sub_child1.text = '1'
sub_child2 = ET.SubElement(child1, 'year')
sub_child2.text = '2008'
child2 = ET.SubElement(root, 'country', {'name': 'Singapore'})
sub_child1 = ET.SubElement(child2, 'rank')
sub_child1.text = '4'
sub_child2 = ET.SubElement(child2, 'year')
sub_child2.text = '2011'
# 将整个XML结构写入文件
tree.write('output.xml', encoding='utf-8')
这个示例中我们构造了一个XML文件的数据结构,并写入到了output.xml文件中。我们可以打开这个文件,查看其中的XML数据结构。XML文件的内容类似如下:
<?xml version="1.0" encoding="utf-8"?>
<data>
<country name="Liechtenstein">
<rank>1</rank>
<year>2008</year>
</country>
<country name="Singapore">
<rank>4</rank>
<year>2011</year>
</country>
</data>
总结
Python可以使用xml.etree.ElementTree模块来读取和写入XML文件,代码非常简单易懂。在读取XML文件时,我们可以使用遍历等方式来获取XML中的各种信息;在写入XML文件时,我们可以构造XML的数据结构并使用write函数将整个XML结构写入指定文件。
以上就是Python读写XML文件的详细攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读写xml文件实例详解嘛 - Python技术站