Python基础 之 Python3 XML 解析 4

简介: Python3 XML 解析

Python基础 之 Python3 XML 解析 4

Python3 XML 解析

Python 解析XML实例

实例

!/usr/bin/python3

import xml.sax

class MovieHandler( xml.sax.ContentHandler ):
def init(self):
self.CurrentData = ""
self.type = ""
self.format = ""
self.year = ""
self.rating = ""
self.stars = ""
self.description = ""

 # 元素开始调用
 def startElement(self, tag, attributes):
    self.CurrentData = tag
    if tag == "movie":
       print ("*****Movie*****")
       title = attributes["title"]
       print ("Title:", title)

 # 元素结束调用
 def endElement(self, tag):
    if self.CurrentData == "type":
       print ("Type:", self.type)
    elif self.CurrentData == "format":
       print ("Format:", self.format)
    elif self.CurrentData == "year":
       print ("Year:", self.year)
    elif self.CurrentData == "rating":
       print ("Rating:", self.rating)
    elif self.CurrentData == "stars":
       print ("Stars:", self.stars)
    elif self.CurrentData == "description":
       print ("Description:", self.description)
    self.CurrentData = ""

 # 读取字符时调用
 def characters(self, content):
    if self.CurrentData == "type":
       self.type = content
    elif self.CurrentData == "format":
       self.format = content
    elif self.CurrentData == "year":
       self.year = content
    elif self.CurrentData == "rating":
       self.rating = content
    elif self.CurrentData == "stars":
       self.stars = content
    elif self.CurrentData == "description":
       self.description = content

if ( name == "main"):

 # 创建一个 XMLReader
 parser = xml.sax.make_parser()
 # 关闭命名空间
 parser.setFeature(xml.sax.handler.feature_namespaces, 0)

 # 重写 ContextHandler
 Handler = MovieHandler()
 parser.setContentHandler( Handler )

 parser.parse("movies.xml")

以上代码执行结果如下:

*Movie*
Title: Enemy Behind
Type: War, Thriller
Format: DVD
Year: 2003
Rating: PG
Stars: 10
Description: Talk about a US-Japan war
*Movie*
Title: Transformers
Type: Anime, Science Fiction
Format: DVD
Year: 1989
Rating: R
Stars: 8
Description: A schientific fiction
*Movie*
Title: Trigun
Type: Anime, Action
Format: DVD
Rating: PG
Stars: 10
Description: Vash the Stampede!
*Movie*
Title: Ishtar
Type: Comedy
Format: VHS
Rating: PG
Stars: 2
Description: Viewable boredom

目录
相关文章
|
27天前
|
XML 数据采集 API
用Lxml高效解析XML格式数据:以天气API为例
免费Python教程:实战解析中国天气网XML数据,详解Lxml库高效解析技巧、XPath用法、流式处理大文件及IP封禁应对策略,助你构建稳定数据采集系统。
139 0
|
8月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1996 1
|
4月前
|
XML 存储 Java
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
本文深入解析了Word文档中自动编号的存储机制及解析难题,探讨了其在技术处理中的障碍,并通过三种实战方案对比,帮助开发者高效提取结构化数据。内容涵盖底层XML结构、常见问题解决方案及性能优化技巧,适用于合同条款、文档自动化处理等场景。
301 0
|
4月前
|
XML 存储 缓存
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
Word文档中的自动编号功能虽便捷,却在技术处理时常成为障碍。本文深入解析Word文档的XML结构,揭示编号信息的存储机制,并提供多种基于Python的解决方案,涵盖跨平台解析、性能优化及固定模板处理,助力开发者突破编号解析难题,实现合同条款等内容的结构化提取与处理。
171 0
|
8月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
242 15
|
12月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
205 1
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
JavaScript Python
【Python】Python3之i18n
最近在完成阿里云MVP共创任务定pgAdmin4定制任务的时候,接触到了Python的本地化与国际化,了解了Python多语言化的基本知识,记录一下分享。其中涉及Python基础类库gettext,大家可访问link。
1544 0
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
238 102

推荐镜像

更多