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 测试实现方法
Dec 24 Python
web.py 十分钟创建简易博客实现代码
Apr 22 Python
Python中字符串的修改及传参详解
Nov 30 Python
利用 Monkey 命令操作屏幕快速滑动
Dec 07 Python
Django如何实现内容缓存示例详解
Sep 24 Python
人脸识别经典算法一 特征脸方法(Eigenface)
Mar 13 Python
python实现txt文件格式转换为arff格式
May 31 Python
对python操作kafka写入json数据的简单demo分享
Dec 27 Python
Python实现程序判断季节的代码示例
Jan 28 Python
三步实现Django Paginator分页的方法
Jun 11 Python
django 外键创建注意事项说明
May 20 Python
python 实现超级玛丽游戏
Nov 25 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来自动调用不同服务器上的flash
2006/10/09 PHP
支持oicq头像的留言簿(一)
2006/10/09 PHP
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
js Form.elements[i]的使用实例
2011/11/13 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
node网页分段渲染详解
2016/09/05 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
python二叉树遍历的实现方法
2013/11/21 Python
浅谈五大Python Web框架
2017/03/20 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
django实现支付宝支付实例讲解
2019/10/17 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
初中科学教学反思
2014/01/21 职场文书
运动会入场解说词
2014/02/07 职场文书
2014年元旦感言
2014/03/06 职场文书
环保倡议书50字
2014/05/15 职场文书
领导干部对照检查材料
2014/08/24 职场文书
人事局接收函
2015/01/30 职场文书
保护地球的宣传语
2015/07/13 职场文书
小学数学教师研修日志
2015/11/13 职场文书
小学科学课教学反思
2016/02/23 职场文书