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实现从百度API获取天气的方法
Mar 11 Python
python安装教程 Pycharm安装详细教程
May 02 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python实现Linux中的du命令
Jun 12 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
基于django channel实现websocket的聊天室的方法示例
Apr 11 Python
python交易记录整合交易类详解
Jul 03 Python
python中update的基本使用方法详解
Jul 17 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
Python爬虫使用浏览器cookies:browsercookie过程解析
Oct 22 Python
详解字符串在Python内部是如何省内存的
Feb 03 Python
详解Python中的文件操作
Jan 14 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 版本]
2007/03/20 PHP
Mysql的GROUP_CONCAT()函数使用方法
2008/03/28 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
用php代码限制国内IP访问我们网站
2015/09/26 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
PHP MYSQL简易交互式站点开发
2016/12/27 PHP
JS类的封装及实现代码
2009/12/02 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
2014/05/04 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
微信小程序 http请求的session管理
2017/06/07 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
详解nodejs实现本地上传图片并预览功能(express4.0+)
2017/06/28 NodeJs
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python中使用sys模板和logging模块获取行号和函数名的方法
2014/04/15 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
2019/06/18 Python
flask项目集成swagger的方法
2020/12/09 Python
银行实习的自我鉴定
2013/12/10 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
经销商培训邀请函
2014/01/21 职场文书
党员自我剖析材料
2014/08/31 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
天坛导游词
2015/02/02 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript