2023-11-18 116
XML(Extensible Markup Language)是一种可扩展的标记语言,它可以用来标记数据、定义数据类型,是一种常用来传输和存储数据的文本格式。XML文件由标签和文本组成,标签可以有属性和子标签,形成一个树形结构。
Python中有多种库可以用来解析XML文件,例如xml.etree.ElementTree、xml.dom.minidom和lxml等。这些库都提供了一些方法和类来操作XML文件中的元素、属性、文本等内容。下面是一些常用的库的介绍和代码示例:
# 导入模块import xml.etree.ElementTree as ET# 创建一个根元素root = ET.Element("catalog")# 添加一个子元素book = ET.SubElement(root, "book", id="1")# 添加子元素的属性和文本book.set("genre", "fiction")book.text = "Harry Potter"# 创建一个ElementTree对象tree = ET.ElementTree(root)# 保存为XML文件tree.write("catalog.xml", encoding="utf-8", xml_declaration=True)
上述代码会生成一个名为catalog.xml的文件,其内容如下:
<?xml version='1.0' encoding='utf-8'?><catalog> <book id="1" genre="fiction">Harry Potter</book></catalog>
# 导入模块import xml.dom.minidom# 打开或创建一个XML文件dom = xml.dom.minidom.parse("catalog.xml")# 获取根元素root = dom.documentElement# 获取子元素列表books = root.getElementsByTagName("book")# 遍历子元素for book in books: # 获取元素的属性值 id = book.getAttribute("id") genre = book.getAttribute("genre") # 获取元素的文本值 title = book.firstChild.data # 打印结果 print(f"id: {id}, genre: {genre}, title: {title}")
上述代码会打印出如下结果:
id: 1, genre: fiction, title: Harry Potter
# 导入模块from lxml import etree# 创建一个根元素root = etree.Element("catalog")# 添加一个子元素book = etree.SubElement(root, "book", id="1")# 添加子元素的属性和文本book.set("genre", "fiction")book.text = "Harry Potter"# 创建一个ElementTree对象tree = etree.ElementTree(root)# 保存为XML文件,并格式化输出tree.write("catalog.xml", encoding="utf-8", xml_declaration=True, pretty_print=True)
上述代码会生成一个名为catalog.xml的文件,其内容如下:
<?xml version='1.0' encoding='utf-8'?><catalog> <book id="1" genre="fiction">Harry Potter</book></catalog>
原文链接:http://www.tpbz008.cn/post/45102.html
=========================================
http://www.tpbz008.cn/ 为 “电脑技术吧” 唯一官方服务平台,请勿相信其他任何渠道。
系统使用 2023-04-23
应用技巧 2023-07-01
电脑技术 2023-10-29
应用技巧 2023-11-14
应用技巧 2022-11-20
系统使用 2022-11-15
应用技巧 2023-03-09
系统使用 2022-11-21
应用技巧 2023-03-14
应用技巧 2023-02-14
扫码二维码
获取最新动态