Python3 notes

简介: Python3 notes

使用xml.dom解析xml

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

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

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

实例

#!/usr/bin/python3


fromxml.dom.minidomimport parse

importxml.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 :NewArrivals

*****Movie*****

Title:EnemyBehind

Type:War,Thriller

Format: DVD

Rating: PG

Description:Talk about a US-Japan war

*****Movie*****

Title:Transformers

Type:Anime,ScienceFiction

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

相关文章
|
存储 网络协议 安全
TCP/IP 四层体系结构
TCP/IP 四层体系结构
|
8月前
|
XML 安全 Java
Spring AOP—深入动态代理 万字详解(通俗易懂)
Spring 第四节 AOP——动态代理 万字详解!
283 24
|
7月前
|
人工智能 智能设计 监控
2024《云计算&AI设计标准研讨会》全记录
2024《云计算&AI设计标准研讨会》全记录
|
数据安全/隐私保护 网络安全 网络协议
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
|
10月前
|
数据采集 监控 搜索推荐
商业案例 I 数据中台用户场景案例
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
安全 搜索推荐 物联网
物联网设备的OTA基本原理
物联网设备的OTA基本原理
585 1
|
人工智能 安全
我国AIGC的监管态势
【1月更文挑战第21天】我国AIGC的监管态势
278 4
我国AIGC的监管态势
|
安全 网络安全 双11
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
564 0
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
|
存储 NoSQL 关系型数据库