python 解析XML python模块xml.dom解析xml实例代码

Python是一门非常强大的编程语言,其拥有许多方便快捷的模块,其中xml.dom模块解析XML文件便是其中之一。本篇攻略详细讲解python模块xml.dom解析xml的具体用法。

一、xml.dom模块基本介绍

XML 是一种标记语言,和 HTML 类似,但 XML 的目的是传输数据,而不是展示数据。XML 模块提供了用于解析 XML 文档的类和函数。它使用 Python DOM API 来解析 XML 数据。

二、实例说明

1. 解析XML文件

import xml.dom.minidom

# 打开xml文件
DOMTree = xml.dom.minidom.parse("example.xml")

# 获取文档对象
collection = DOMTree.documentElement

# 遍历所有film标签
films = collection.getElementsByTagName("film")
print ("=====遍历所有film标签=====")
for film in films:
   print ("*****Film*****")
   if film.hasAttribute("title"):
      print ("Title: %s" % film.getAttribute("title"))

   type = film.getElementsByTagName('type')[0]
   print ("Type: %s" % type.childNodes[0].data)

   format = film.getElementsByTagName('format')[0]
   print ("Format: %s" % format.childNodes[0].data)

   rating = film.getElementsByTagName('rating')[0]
   print ("Rating: %s" % rating.childNodes[0].data)

   description = film.getElementsByTagName('description')[0]
   print ("Description: %s" % description.childNodes[0].data)

以上代码解析了一个名为"example.xml"的XML文件,并从中获取影片的各种信息。输出结果如下:

=====遍历所有film标签=====
*****Film*****
Title: Enemy Behind
Type: War, Thriller
Format: DVD
Rating: PG
Description: Talk about a US-Japan war
*****Film*****
Title: Transformers
Type: Anime, Science Fiction
Format: DVD
Rating: R
Description: A schientific fiction
*****Film*****
Title: Trigun
Type: Anime, Action
Format: DVD
Rating: PG
Description: Vash the Stampede!
*****Film*****
Title: Ishtar
Type: Comedy
Format: VHS
Rating: PG
Description: Viewable boredom

2. 创建XML文件

import xml.dom.minidom

# 创建XML文档对象
doc = xml.dom.minidom.Document()

# 创建根节点
root = doc.createElement('root')

# 添加到文档中
doc.appendChild(root)

# 创建一个Country节点
Country = doc.createElement('Country')
# 给节点设置属性
Country.setAttribute('name', 'China')
# 添加到根节点中
root.appendChild(Country)

# 创建一个Province节点
Province = doc.createElement('Province')
Province.setAttribute('name', 'Guangdong')
# 将省份作为子节点添加到国家节点中
Country.appendChild(Province)

# 创建一个City节点
City = doc.createElement('City')
City.setAttribute('name', 'Shenzhen')
# 将城市作为子节点添加到省份中
Province.appendChild(City)

# 保存文件
doc.writexml(open('example.xml', 'w'),indent='', addindent='  ', newl='\n')

print("XML创建成功!")

以上代码创建了一个名为"example.xml"的XML文件,输出结果如下:

<root>
  <Country name="China">
    <Province name="Guangdong">
      <City name="Shenzhen"/>
    </Province>
  </Country>
</root>

三、总结

本篇攻略详细讲解了python模块xml.dom解析xml的基本用法,并提供了两个实例说明,让读者能够更加深入地理解和熟练应用该模块。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 解析XML python模块xml.dom解析xml实例代码 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • 使用xmlHttp结合ASP实现网页的异步调用

    使用XMLHttpRequest结合ASP可以实现网页的异步调用,使得网页在不刷新页面的情况下,可以更新部分内容,提高用户体验。 以下是具体的攻略: 创建XMLHttpRequest对象 在JavaScript代码中,需要首先创建一个XMLHttpRequest对象,可以通过如下代码创建该对象: var xmlhttp = new XMLHttpReques…

    html 2023年5月30日
    00
  • CSS字符编码引起乱码的快速解决方法

    CSS字符编码引起乱码的快速解决方法主要有两种,分别是使用iconfont字体图标和手动设置CSS文件编码。下面将具体展开说明。 1. 使用iconfont字体图标 Iconfont字体图标是一种通过CSS技术将图标转换成字体的方式,常用于解决字符编码引起的乱码问题。具体步骤如下: 步骤一:下载Iconfont字体库 先在阿里巴巴矢量图标库中搜索想要使用的图…

    html 2023年5月31日
    00
  • React JSX深入浅出理解

    React JSX是JSX语法的一种实现,跟React组件息息相关,下面我将为你介绍React JSX深入浅出的完整攻略。 什么是JSX JSX即JavaScript XML的缩写,是一种在JavaScript代码中编写HTML的类 XML 语法,结合了 HTML 结构和 JavaScript 逻辑,用于在 React 应用中描述界面的“组件树”。下面是一个…

    html 2023年5月30日
    00
  • Linux系统下加载U盘设备时文件乱码的有效解决方法

    当在Linux系统中使用U盘设备的时候,有可能会遇到文件名乱码的问题。这是因为不同的文件系统使用的字符集不同,而操作系统并不一定会自动识别使用的字符集。在这种情况下,我们可以采取以下方法解决乱码问题: 第一步:查看文件系统 首先需要确认使用的U盘设备的文件系统类型。我们可以使用以下命令查看: sudo fdisk -l 这将列出系统中所有的磁盘和分区信息,找…

    html 2023年5月31日
    00
  • windows环境下Mysql中文乱码问题解决方法

    Windows环境下MySQL中文乱码问题解决方法 问题描述 在Windows环境下,使用MySQL数据库时,会出现中文乱码问题。 原因分析 在Windows环境下,MySQL的默认字符集是latin1,而不是utf8,这就导致了中文字符乱码的问题。 解决方法 1. 修改MySQL字符集 在MySQL安装目录下找到my.ini文件,在[mysqld]下添加以…

    html 2023年5月31日
    00
  • HTML超链接标签(a标签)详解

    HTML超链接标签<a>用于添加链接到网页上,并可以链接到其他网页、文档、图像、音频、视频等。 基本语法 <a href="链接地址">链接文本</a> 其中, href 属性表示链接地址,可以是绝对路径或相对路径,也可以是外部网址。链接文本是可选的,可以是文字、图片等。 示例代码: 超链接到外部网址:…

    Web开发基础 2023年3月15日
    00
  • ps怎么拼心形图片? ps合成心形图片的技巧

    以下是“ps怎么拼心形图片? ps合成心形图片的技巧”的完整攻略: ps怎么拼心形图片? ps合成心形图片的技巧 Adobe Photoshop(简称PS)是一款非常流行的图像处理软件,用户可以使用PS合成心形图片。下面是一些PS合成心形图片的技巧,可以帮助用户设计出高质量的心形图片。 技巧1:使用“形状工具”绘制心形 用户可以使用PS中的“形状工具”绘制心…

    html 2023年5月18日
    00
  • 火狐浏览器中文乱码怎么办? 火狐浏览器标题为乱码的解决办法

    火狐浏览器中文乱码解决办法 在一些情况下,我们会发现在火狐浏览器中,网页中的中文出现了乱码的情况,这时候我们需要进行一些设置来解决这个问题。下面是几种解决办法: 设置字体显示编码 首先在火狐浏览器中输入 about:config 并回车 搜索“font.encoding”并双击 输入 “GB2312” 并保存 这样设置后,火狐浏览器会按照GB2312的编码来…

    html 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部