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 排列组合之itertools
Mar 20 Python
Python实现CET查分的方法
Mar 10 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
Python文件操作之合并文本文件内容示例代码
Sep 19 Python
python+pyqt实现右下角弹出框
Oct 26 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
python文件操作之批量修改文件后缀名的方法
Aug 10 Python
实例详解Python装饰器与闭包
Jul 29 Python
基于pytorch padding=SAME的解决方式
Feb 18 Python
Python3爬虫ChromeDriver的安装实例
Feb 06 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 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 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
php 可变函数使用小结
2018/06/12 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
PHP PDOStatement::fetchObject讲解
2019/02/01 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
Bootstrap Table使用整理(四)之工具栏
2017/06/09 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
浅谈VUE单页应用首屏加载速度优化方案
2018/08/28 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
python批量修改图片大小的方法
2018/07/24 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
python 如何调用 dubbo 接口
2020/09/24 Python
python Matplotlib数据可视化(1):简单入门
2020/09/30 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
菲律宾最大的网上花店和礼品店:PhilFlower.com
2018/02/09 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
电大奖学金获奖感言
2014/08/14 职场文书
青春雷锋观后感
2015/06/10 职场文书
生日赠语
2015/06/23 职场文书
2016年小学圣诞节活动总结
2016/03/31 职场文书
详解Mysql和Oracle之间的误区
2021/05/18 MySQL
Python机器学习之基础概述
2021/05/19 Python
python实现简单石头剪刀布游戏
2021/10/24 Python