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的Twisted框架实现一个简单的服务器
Apr 16 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
django+echart数据动态显示的例子
Aug 12 Python
Python如何使用内置库matplotlib绘制折线图
Feb 24 Python
python str字符串转uuid实例
Mar 03 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
python怎么删除缓存文件
Jul 19 Python
Pyinstaller打包Scrapy项目的实现步骤
Sep 22 Python
Python经典五人分鱼实例讲解
Jan 04 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
PHP 编程的 5个良好习惯
2009/02/20 PHP
浅析PHP原理之变量(Variables inside PHP)
2013/08/09 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
php cookie 详解使用实例
2016/11/03 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
JQuery操作tr和td内容的方法实例
2013/03/06 Javascript
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
JQuery中对Select的option项的添加、删除、取值
2013/08/25 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
给js文件传参数(详解)
2014/07/13 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python opencv实现运动检测
2018/07/10 Python
python程序封装为win32服务的方法
2021/03/07 Python
对pycharm 修改程序运行所需内存详解
2018/12/03 Python
配置python的编程环境之Anaconda + VSCode的教程
2020/03/29 Python
python开根号实例讲解
2020/08/30 Python
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
台湾森森购物网:U-mall
2017/10/16 全球购物
旧时光糖果:Old Time Candy
2018/02/05 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
应届大学生求职的自我评价
2013/11/17 职场文书
工作自荐信
2013/12/11 职场文书
上级检查欢迎词
2014/01/18 职场文书
安全知识竞赛主持词
2015/06/30 职场文书
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏