Python是一门非常强大的编程语言,其拥有许多方便快捷的模块,其中xml.dom模块解析XML文件便是其中之一。本篇攻略详细讲解python模块xml.dom解析xml的具体用法。
一、xml.dom模块基本介绍
XML 是一种标记语言,和 HTML 类似,但 XML 的目的是传输数据,而不是展示数据。XML 模块提供了用于解析 XML 文档的类和函数。它使用 Python DOM API 来解析 XML 数据。
二、实例说明
1. 解析XML文件
import xml.dom.minidom
# 打开xml文件
DOMTree = xml.dom.minidom.parse("example.xml")
# 获取文档对象
collection = DOMTree.documentElement
# 遍历所有film标签
films = collection.getElementsByTagName("film")
print ("=====遍历所有film标签=====")
for film in films:
print ("*****Film*****")
if film.hasAttribute("title"):
print ("Title: %s" % film.getAttribute("title"))
type = film.getElementsByTagName('type')[0]
print ("Type: %s" % type.childNodes[0].data)
format = film.getElementsByTagName('format')[0]
print ("Format: %s" % format.childNodes[0].data)
rating = film.getElementsByTagName('rating')[0]
print ("Rating: %s" % rating.childNodes[0].data)
description = film.getElementsByTagName('description')[0]
print ("Description: %s" % description.childNodes[0].data)
以上代码解析了一个名为"example.xml"的XML文件,并从中获取影片的各种信息。输出结果如下:
=====遍历所有film标签=====
*****Film*****
Title: Enemy Behind
Type: War, Thriller
Format: DVD
Rating: PG
Description: Talk about a US-Japan war
*****Film*****
Title: Transformers
Type: Anime, Science Fiction
Format: DVD
Rating: R
Description: A schientific fiction
*****Film*****
Title: Trigun
Type: Anime, Action
Format: DVD
Rating: PG
Description: Vash the Stampede!
*****Film*****
Title: Ishtar
Type: Comedy
Format: VHS
Rating: PG
Description: Viewable boredom
2. 创建XML文件
import xml.dom.minidom
# 创建XML文档对象
doc = xml.dom.minidom.Document()
# 创建根节点
root = doc.createElement('root')
# 添加到文档中
doc.appendChild(root)
# 创建一个Country节点
Country = doc.createElement('Country')
# 给节点设置属性
Country.setAttribute('name', 'China')
# 添加到根节点中
root.appendChild(Country)
# 创建一个Province节点
Province = doc.createElement('Province')
Province.setAttribute('name', 'Guangdong')
# 将省份作为子节点添加到国家节点中
Country.appendChild(Province)
# 创建一个City节点
City = doc.createElement('City')
City.setAttribute('name', 'Shenzhen')
# 将城市作为子节点添加到省份中
Province.appendChild(City)
# 保存文件
doc.writexml(open('example.xml', 'w'),indent='', addindent=' ', newl='\n')
print("XML创建成功!")
以上代码创建了一个名为"example.xml"的XML文件,输出结果如下:
<root>
<Country name="China">
<Province name="Guangdong">
<City name="Shenzhen"/>
</Province>
</Country>
</root>
三、总结
本篇攻略详细讲解了python模块xml.dom解析xml的基本用法,并提供了两个实例说明,让读者能够更加深入地理解和熟练应用该模块。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 解析XML python模块xml.dom解析xml实例代码 - Python技术站