Python基础 之 Python3 XML 解析 5

简介: Python3 XML 解析

Python基础 之 Python3 XML 解析 5

Python3 XML 解析

使用xml.dom解析xml

文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。

一个 DOM 的解析器在解析一个 XML 文档时,一次性读取整个文档,把文档中所有元素保存在内存中的一个树结构里,之后你可以利用DOM 提供的不同的函数来读取或修改文档的内容和结构,也可以把修改过的内容写入xml文件。

Python 中用 xml.dom.minidom 来解析 xml 文件,实例如下:

实例

!/usr/bin/python3

from xml.dom.minidom import parse
import xml.dom.minidom

使用minidom解析器打开 XML 文档

DOMTree = xml.dom.minidom.parse("movies.xml")
collection = DOMTree.documentElement
if collection.hasAttribute("shelf"):
print ("Root element : %s" % collection.getAttribute("shelf"))

在集合中获取所有电影

movies = collection.getElementsByTagName("movie")

打印每部电影的详细信息

for movie in movies:
print ("*Movie*")
if movie.hasAttribute("title"):
print ("Title: %s" % movie.getAttribute("title"))

 type = movie.getElementsByTagName('type')[0]
 print ("Type: %s" % type.childNodes[0].data)
 format = movie.getElementsByTagName('format')[0]
 print ("Format: %s" % format.childNodes[0].data)
 rating = movie.getElementsByTagName('rating')[0]
 print ("Rating: %s" % rating.childNodes[0].data)
 description = movie.getElementsByTagName('description')[0]
 print ("Description: %s" % description.childNodes[0].data)

以上程序执行结果如下:

Root element : New Arrivals
*Movie*
Title: Enemy Behind
Type: War, Thriller
Format: DVD
Rating: PG
Description: Talk about a US-Japan war
*Movie*
Title: Transformers
Type: Anime, Science Fiction
Format: DVD
Rating: R
Description: A schientific fiction
*Movie*
Title: Trigun
Type: Anime, Action
Format: DVD
Rating: PG
Description: Vash the Stampede!
*Movie*
Title: Ishtar
Type: Comedy
Format: VHS
Rating: PG
Description: Viewable boredom

目录
相关文章
|
20天前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
125 0
|
8月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1948 1
|
4月前
|
XML 存储 Java
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
本文深入解析了Word文档中自动编号的存储机制及解析难题,探讨了其在技术处理中的障碍,并通过三种实战方案对比,帮助开发者高效提取结构化数据。内容涵盖底层XML结构、常见问题解决方案及性能优化技巧,适用于合同条款、文档自动化处理等场景。
285 0
|
4月前
|
XML 存储 缓存
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
Word文档中的自动编号功能虽便捷,却在技术处理时常成为障碍。本文深入解析Word文档的XML结构,揭示编号信息的存储机制,并提供多种基于Python的解决方案,涵盖跨平台解析、性能优化及固定模板处理,助力开发者突破编号解析难题,实现合同条款等内容的结构化提取与处理。
153 0
|
8月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
222 15
|
12月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
200 1
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
8月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
740 29
|
8月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
230 4

推荐镜像

更多
  • DNS