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

1009次阅读  |  发布于5年以前

一 、python模块 xml.dom 解析XML的API

minidom.parse(filename)
加载读取XML文件

doc.documentElement
获取XML文档对象

node.getAttribute(AttributeName)
获取XML节点属性值

node.getElementsByTagName(TagName)
获取XML节点对象集合

node.childNodes #返回子节点列表。

node.childNodes[index].nodeValue
获取XML节点值

node.firstChild

访问第一个节点。等价于pagexml.childNodes[0]

doc = minidom.parse(filename)
doc.toxml('UTF-8')
返回Node节点的xml表示的文本

Node.attributes["id"]
a.name #就是上面的 "id"
a.value #属性的值
访问元素属性

二、python解析xml文件的实例代码
1、创建user.xml文件,添加XMl节点

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8" ?>

Admin admin@live.cn 23 Admin2 admin2@live.cn 22 Admin3 admin3@live.cn 27 Admin4 admin4@live.cn 25 Admin5 admin5@live.cn 20 Admin6 admin6@live.cn 23

2、Demo.py解析user.xml文档数据

复制代码 代码如下:

-- coding:utf-8 --

"""

3、测试效果
A、测试toxml
demo.py 文件中修改成
if name == "main":
test_xmltostring()

本节是 python 解析XML python模块xml.dom解析xml实例 第二部分的内容。
执行打印结果:

复制代码 代码如下:

Admin admin@live.cn 23 Admin2 admin2@live.cn 22 Admin3 admin3@live.cn 27 Admin4 admin4@live.cn 25 Admin5 admin5@live.cn 20 Admin6 admin6@live.cn 23

B、测试解析XML
demo.py 文件中修改成
if name == "main":
test_laod_xml()

执行打印出结果:
-----------------------------------------------------
编 号:1000001
用户名:Admin
性 别:男
年 龄:23
邮 箱:admin@live.cn

=====================================================
-----------------------------------------------------
编 号:1000002
用户名:Admin2
性 别:男
年 龄:22
邮 箱:admin2@live.cn

=====================================================
-----------------------------------------------------
编 号:1000003
用户名:Admin3
性 别:男
年 龄:27
邮 箱:admin3@live.cn

=====================================================
-----------------------------------------------------
编 号:1000004
用户名:Admin4
性 别:女
年 龄:25
邮 箱:admin4@live.cn

=====================================================
-----------------------------------------------------
编 号:1000005
用户名:Admin5
性 别:男
年 龄:20
邮 箱:admin5@live.cn

=====================================================
-----------------------------------------------------
编 号:1000006
用户名:Admin6
性 别:女
年 龄:23
邮 箱:admin6@live.cn

=====================================================

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8