Python基础 之 Python3 XML 解析 4

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
简介: 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

目录
相关文章
|
5天前
|
数据采集 Python
python HTML文件标题解析问题的挑战
python HTML文件标题解析问题的挑战
|
6天前
|
JSON JavaScript 数据库
Python 解析JSON实现主机管理
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易于阅读和编写的文本形式表示数据。JSON 是一种独立于编程语言的数据格式,因此在不同的编程语言中都有对应的解析器和生成器。JSON 格式的设计目标是易于理解、支持复杂数据结构和具有良好的可扩展性。
Python 解析JSON实现主机管理
|
7天前
|
人工智能 测试技术 Python
软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
17 0
|
7天前
|
存储 人工智能 测试技术
软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
13 0
|
7天前
|
存储 人工智能 Java
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
13 0
|
8天前
|
开发框架 Python
Python游戏开发实例解析
Python游戏开发实例解析
|
20天前
|
Web App开发 存储 搜索推荐
使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据
使用 ChatGPT 帮助小学生编程入门系列之一:Python 编程读取和解析天气预报网页上的数据
35 0
|
27天前
|
数据采集 域名解析 网络协议
Python爬虫过程中DNS解析错误解决策略
Python爬虫过程中DNS解析错误解决策略
|
28天前
|
Python
Python用于解析和修改文本数据-pyparsing模块教程
Python用于解析和修改文本数据-pyparsing模块教程
28 0
|
1月前
|
JSON 测试技术 API
软件测试|Python对JSON的解析和创建详解
软件测试|Python对JSON的解析和创建详解
54 0
相关产品
云迁移中心
推荐文章
更多
推荐镜像
更多