Python基础——PyCharm版本——第八章、文件I/O(XML)

简介: Python基础——PyCharm版本——第八章、文件I/O(XML)

前言

XML虽然比JSON复杂,在Web中应用也不如以前多了,不过仍有很多地方在用,所以,有必要了解如何操作XML。

XML(Extensible Markup Language,可扩展标记语言)与JSON数据格式类似,用于提供数据表述格式,适用于不同应用程序间的数据交换。 XML是一套定义语义标记的规则,同时也是用于定义其他标识语言的元标识语言。 Python有三种解析XML的方式,分别为SAX、DOM以及ElementTree。


现阶段主要是对XML做读取操作:


XML结构示例:

<?xml version="1.0" encoding="utf-8" ?>
<users>
    <user>
        <id>1</id>
        <userName>admin</userName>
        <passWord>123456</passWord>
        <introduce>管理员</introduce>
    </user>
    <user>
        <id>2</id>
        <userName>likes</userName>
        <passWord>123456</passWord>
        <introduce>爱好</introduce>
    </user>
        <user>
        <id>2</id>
        <userName>王语嫣</userName>
        <passWord>123456</passWord>
        <introduce>琅嬛福地,神仙姐姐。</introduce>
    </user>
</users>

读取示例:

from xml.dom import minidom as getDom
# 获取xml操作文件信息
dom = getDom.parse("test.xml")
# 获取dom元素
root = dom.documentElement
# 根节点名称
print(root.nodeName)
# 根据dom元素获取根节点下所有的一级子节点
lists = root.getElementsByTagName("user")
# 遍历一级子节点的过程中便可以获取数据
for u in lists:
    print(u.getElementsByTagName("id")[0].firstChild.data)
    print(u.getElementsByTagName("userName")[0].firstChild.data)
    print(u.getElementsByTagName("passWord")[0].firstChild.data)
    print(u.getElementsByTagName("introduce")[0].firstChild.data)

image.png

相关文章
|
4天前
|
Shell Python
Python Stock guess_indicators_daily_job.py文件的调整
Python Stock guess_indicators_daily_job.py文件的调整
13 1
|
4天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
14 1
|
2天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
12 2
|
4天前
|
Android开发
android string.xml文件中的整型和string型代替
android string.xml文件中的整型和string型代替
|
4天前
|
XML 安全 API
AndroidManifest.xml文件综合详解
AndroidManifest.xml文件综合详解
|
6天前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
10 0
|
6天前
|
存储 数据采集 数据库
python-scrapy框架(三)Pipeline文件的用法讲解
python-scrapy框架(三)Pipeline文件的用法讲解
8 0
|
6天前
|
数据采集 iOS开发 MacOS
Python及Pycharm安装教程
Python及Pycharm安装教程
24 0
|
6天前
|
API 开发者 Docker
python中版本不兼容问题
【5月更文挑战第3天】python中版本不兼容问题
17 2
|
7天前
|
Python
【python】在pycharm创建一个新的项目
【python】在pycharm创建一个新的项目
361 0