Python基于dom操作xml数据的方法示例


Posted in Python onMay 12, 2018

本文实例讲述了Python基于dom操作xml数据的方法。分享给大家供大家参考,具体如下:

1、xml的内容为del.xml,如下

<?xml version="1.0" encoding="utf-8"?>
<catalog>
 <maxid>4</maxid>
 <login username="pytest" passwd='123456'>
  <caption>Python</caption>
  <item id="4">
   <caption>test</caption>
  </item>
 </login>
 <item id="2">
  <caption>Zope</caption>
 </item>
</catalog>

2、python的代码如下

# -*- coding:utf-8 -*-
#! python3
#1、获得标签属性
print("#1、获得标签属性")
import xml.dom.minidom
dom = xml.dom.minidom.parse("del.xml") #打开xml文档
root = dom.documentElement #得到xml文档
print("nodeName:",root.nodeName) #
print("nodeValue:",root.nodeValue)
print("nodeType:",root.nodeType)
print("ELEMENT_NODE:",root.ELEMENT_NODE)
#2、获得子标签
print("#2、获得子标签")
bb = root.getElementsByTagName('maxid')
print(type(bb))
print(bb)
b = bb[0]
print(b.nodeName)
print(b.nodeValue)
#3、获取标签属性值
print("#3、获取标签属性值")
itemlist = root.getElementsByTagName('login')
item =itemlist[0]
print(item.getAttribute("username"))
print(item.getAttribute("passwd"))
itemlist = root.getElementsByTagName('item')
item = itemlist[0]   #通过在itemlist中的位置区分
print(item.getAttribute("id"))
item_1 = itemlist[1]  #通过在itemlist中的位置区分
print(item_1.getAttribute("id"))
#4、获得标签对之间的数据
print("#4、获得标签对之间的数据")
itemlist1 = root.getElementsByTagName('caption')
item1 = itemlist1[0]
print(item1.firstChild.data)
item2 = itemlist1[1]
print(item2.firstChild.data)
#5总结
# 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]

3、运行结果如下:

#1、获得标签属性
nodeName: catalog
nodeValue: None
nodeType: 1
ELEMENT_NODE: 1
#2、获得子标签
<class 'xml.dom.minicompat.NodeList'>
[<DOM Element: maxid at 0x1dad800>]
maxid
None
#3、获取标签属性值
pytest
123456
4
2
#4、获得标签对之间的数据
Python
test

运行结果截图:

Python基于dom操作xml数据的方法示例

Python 相关文章推荐
python使用循环实现批量创建文件夹示例
Mar 25 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
Python ldap实现登录实例代码
Sep 30 Python
Python 中 Virtualenv 和 pip 的简单用法详解
Aug 18 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
python散点图实例之随机漫步
Aug 27 Python
python3.5安装python3-tk详解
Apr 26 Python
深入浅析python的第三方库pandas
Feb 13 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
Django 实现 Websocket 广播、点对点发送消息的代码
Jun 03 Python
python实现控制台输出颜色
Mar 02 Python
Python实现使用卷积提取图片轮廓功能示例
May 12 #Python
在cmd中运行.py文件: python的操作步骤
May 12 #Python
对命令行模式与python交互模式介绍
May 12 #Python
python执行系统命令后获取返回值的几种方式集合
May 12 #Python
在CMD命令行中运行python脚本的方法
May 12 #Python
在cmd命令行里进入和退出Python程序的方法
May 12 #Python
对python中执行DOS命令的3种方法总结
May 12 #Python
You might like
PHP中文件上传的一个问题
2010/09/04 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
php加密解密实用类分享
2014/01/07 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
老生常谈PHP面向对象之解释器模式
2017/05/17 PHP
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
基于jquery点击自以外任意处,关闭自身的代码
2012/02/10 Javascript
Javascript 垃圾收集机制介绍理解
2013/05/14 Javascript
javascript使用smipleChart实现简单图表
2015/01/02 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
layui.js实现的表单验证功能示例
2017/11/15 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
js简单的分页器插件代码实例
2019/09/11 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
vue 表单输入框不支持focus及blur事件的解决方案
2020/11/17 Vue.js
采用Psyco实现python执行速度提高到与编译语言一样的水平
2014/10/11 Python
python刷投票的脚本实现代码
2014/11/08 Python
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
2019/08/02 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
意大利奢侈品牌在线精品店:Jole.it
2020/11/23 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
外贸专业求职信
2014/03/09 职场文书
2014年党课学习材料
2014/05/11 职场文书
宣传口号大全
2014/06/16 职场文书
2014年党小组工作总结
2014/12/20 职场文书
奖励通知
2015/04/22 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Python机器学习之基础概述
2021/05/19 Python
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers