Python 使用xml.etree.ElementTree来打印格式良好的xml文件

Python 使用xml.etree.ElementTree来打印格式良好的xml文件

在本文中,我们将介绍如何使用Python中的xml.etree.ElementTree模块来处理和打印格式良好的xml文件。

阅读更多:Python 教程

什么是xml.etree.ElementTree?

在Python中,xml.etree.ElementTree是一个内置的XML解析模块。它提供了一种简单的方法来创建、操作和解析XML数据。使用xml.etree.ElementTree可以很方便地处理XML文件,包括读取、修改、创建和打印格式良好的XML文件。

打印格式良好的XML文件

在使用xml.etree.ElementTree来处理XML文件时,我们经常需要将其打印为格式良好的文本形式。下面是一个示例XML文件:

<root>
  <person>
    <name>John</name>
    <age>30</age>
  </person>
  <person>
    <name>Jane</name>
    <age>25</age>
  </person>
</root>
Python

现在,我们将使用xml.etree.ElementTree来加载这个XML文件并打印为格式良好的文本形式:

import xml.etree.ElementTree as ET

# 加载XML文件
tree = ET.parse('example.xml')
root = tree.getroot()

# 打印格式良好的XML文件
print(ET.tostring(root, encoding='utf-8', method='xml').decode())
Python

运行上述代码,输出结果如下所示:

<root>
  <person>
    <name>John</name>
    <age>30</age>
  </person>
  <person>
    <name>Jane</name>
    <age>25</age>
  </person>
</root>
XML

通过调用ET.tostring()函数,并传递要打印的根元素(root)作为参数,我们可以将整个XML文件以格式良好的文本形式打印到控制台。

修改XML文件并打印

xml.etree.ElementTree不仅可以用于打印格式良好的XML文件,还可以用于修改XML文件并打印结果。下面是一个示例:

import xml.etree.ElementTree as ET

# 加载XML文件
tree = ET.parse('example.xml')
root = tree.getroot()

# 修改XML文件
for person in root.findall('person'):
    age = person.find('age')
    age.text = str(int(age.text) + 1)

# 打印修改后的XML文件
print(ET.tostring(root, encoding='utf-8', method='xml').decode())
Python

运行上述代码,输出结果如下所示:

<root>
  <person>
    <name>John</name>
    <age>31</age>
  </person>
  <person>
    <name>Jane</name>
    <age>26</age>
  </person>
</root>
XML

通过遍历XML中的<person>元素,并修改其中的<age>元素的文本内容,我们成功地对XML文件进行了修改,并将修改后的结果打印出来。

创建XML文件并打印

除了加载和修改现有的XML文件外,xml.etree.ElementTree还可以用于创建XML文件并打印结果。下面是一个示例:

import xml.etree.ElementTree as ET

# 创建根元素
root = ET.Element('root')

# 创建子元素1
person1 = ET.SubElement(root, 'person')
name1 = ET.SubElement(person1, 'name')
name1.text = 'John'
age1 = ET.SubElement(person1, 'age')
age1.text = '30'

# 创建子元素2
person2 = ET.SubElement(root, 'person')
name2 = ET.SubElement(person2, 'name')
name2.text = 'Jane'
age2 = ET.SubElement(person2, 'age')
age2.text = '25'

# 创建XML文件
tree = ET.ElementTree(root)

# 打印XML文件
print(ET.tostring(root, encoding='utf-8', method='xml').decode())
Python

运行上述代码,输出结果如下所示:

<root>
  <person>
    <name>John</name>
    <age>30</age>
  </person>
  <person>
    <name>Jane</name>
    <age>25</age>
  </person>
</root>
XML

通过使用各种ET.SubElement()函数,我们可以创建包含各种元素和子元素的XML文件,并将其打印为格式良好的文本格式。

总结

本文介绍了如何使用Python中的xml.etree.ElementTree模块来打印格式良好的XML文件。我们学习了如何加载、修改和创建XML文件,并将其打印为格式良好的文本形式。使用xml.etree.ElementTree可以轻松地处理XML文件,并将其转换为易于阅读和理解的格式。

通过掌握这些技巧,您可以更好地利用Python和xml.etree.ElementTree来处理和打印XML文件,满足您的各种需求。祝您在使用xml.etree.ElementTree时取得成功!

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册