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 相关文章推荐
python3.3教程之模拟百度登陆代码分享
Jan 16 Python
python求斐波那契数列示例分享
Feb 14 Python
python 实现在Excel末尾增加新行
May 02 Python
python自动查询12306余票并发送邮箱提醒脚本
May 21 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
Python脚本完成post接口测试的实例
Dec 17 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
keras 如何保存最佳的训练模型
May 25 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
Python+unittest+requests 接口自动化测试框架搭建教程
Oct 09 Python
python 下划线的多种应用场景总结
May 12 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数据库抽象层 PDO
2011/05/07 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
laravel手动创建数组分页的实现代码
2018/06/07 PHP
js中如何把字符串转化为对象、数组示例代码
2013/07/17 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
node.js使用mongoose操作数据库实现购物车的增、删、改、查功能示例
2019/12/23 Javascript
Element Backtop回到顶部的具体使用
2020/07/27 Javascript
react的hooks的用法详解
2020/10/12 Javascript
python调用shell的方法
2013/11/20 Python
python函数返回多个值的示例方法
2013/12/04 Python
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
在Django的通用视图中处理Context的方法
2015/07/21 Python
用Python的Flask框架结合MySQL写一个内存监控程序
2015/11/07 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
Python字典对象实现原理详解
2019/07/01 Python
python通过SSH登陆linux并操作的实现
2019/10/10 Python
python 实现字符串下标的输出功能
2020/02/13 Python
pytorch之Resize()函数具体使用详解
2020/02/27 Python
Python中的全局变量如何理解
2020/06/04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
html5菜单折纸效果
2014/04/22 HTML / CSS
培训班主持词
2014/03/28 职场文书
土地转让协议书
2014/04/15 职场文书
2014组织生活会方案
2014/05/19 职场文书
离婚协议书怎么写
2015/01/26 职场文书
家长高考寄语
2015/02/27 职场文书
通讯稿范文
2015/07/22 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
详解Python中__new__方法的作用
2022/03/31 Python