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

相关文章
|
9月前
|
XML 安全 Java
Spring AOP—深入动态代理 万字详解(通俗易懂)
Spring 第四节 AOP——动态代理 万字详解!
428 24
|
8月前
|
人工智能 智能设计 监控
2024《云计算&AI设计标准研讨会》全记录
2024《云计算&AI设计标准研讨会》全记录
|
存储 算法 NoSQL
天呐!汇编语言竟如此神奇,从零到精通的学习指南带你开启计算机世界神秘大门!
【8月更文挑战第31天】汇编语言是一种底层编程语言,直接与硬件交互,对于理解计算机体系结构和底层原理至关重要。尽管现代软件开发中较少使用,但学习汇编语言有助于深入了解计算机如何执行指令、管理内存和处理数据,从而优化程序性能,进行底层系统开发和调试。不同处理器有不同指令集,如 x86 和 ARM,掌握这些指令集及寄存器、内存地址等基本概念是学习汇编语言的基础。通过简单示例开始,逐步掌握复杂指令和调试工具,可以大大提高编程技能和解决问题的能力。
327 1
|
数据安全/隐私保护 网络安全 网络协议
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
2024年广东省网络系统管理样题第5套服务部署部分
|
存储 监控 Linux
如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享
随着业务扩展和技术进步,服务器硬盘容量需求不断增加。本文通过具体案例介绍如何在 CentOS 7 中进行磁盘分区和挂载,包括准备工作、创建分区、格式化分区、创建挂载点、挂载分区及实践经验分享,帮助读者更好地管理和利用磁盘空间。
620 3
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
445 1
|
安全 搜索推荐 物联网
物联网设备的OTA基本原理
物联网设备的OTA基本原理
676 1
|
人工智能 安全
我国AIGC的监管态势
【1月更文挑战第21天】我国AIGC的监管态势
296 4
我国AIGC的监管态势
|
安全 网络安全 双11
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
601 0
【漏洞复现-jupyter_notebook-命令执行】vulfocus/jupyter_notebook-cve_2019_9644
|
传感器 物联网 智能硬件
IoT设备与手机App之间实时消息通信解决方案
PLC 工控机和管理人员 App 的联动
1902 15
IoT设备与手机App之间实时消息通信解决方案

热门文章

最新文章