您现在的位置是:网站首页> 编程资料编程资料
python与xml数据的交互详解_python_
2023-05-26
429人已围观
简介 python与xml数据的交互详解_python_
一 什么是XML?
python与json数据的交互详情 在这篇文章中我们介绍了json是一种独立于编程语言和平台的数据存储和交换方式(格式),其实xml和json基本一样,也是一种用于进行数据存储和交换的方式,并且也独立于编程语言和平台。
XML可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言,是从标准通用标记语言(SGML)中简化修改出来的。XML设计的宗旨就是用来传输数据的。
二 XML语法规则
1. xml语法规则
xml的语法规则和html的语法规则很像,但却有着明显的差别。相同的是它们都用标签对来存储数据,但是html的标签都是预定义的,而xml的标签则完全是由编辑者自己定义的。
xml的语法规则如下:
CHL2108 20220629 164506 张三 >1 SSM1050000000001 001 6391E8421C007ED5 D0E8C46A0B765B 2 2207081541590398 STM202206291645060000000000 6232621151792579 达拉崩吧班德贝蒂卜多比鲁翁·昆图库塔卡提考特苏瓦西拉松·木大 755933363410722 70000 010021102121600095 23301900000 0075 1456151561650569 STM
xml 必须包含根元素,它是所有其它元素的父元素,如上文中的CFXxml 标签必须是成对出现的,即必须有关关闭标签
上面这部分是xml的文档声明部分,包含了版本信息和编码方式,是可选的。其他
2. xml与html的区别
xml和html很像,但区别也很大,具体不同如下:
- html标签是预定义的,而xml则是由使用者自己定义
- xml被设计用来传输和存储数据,其焦点是数据的内容
- html被设计用来显示数据,其焦点是数据的外观
三 python与xml的交互
python获取xml的数据信息一般用xml.dom 来解析,具体如下
1. 获取标签对内的数据
比如提取上面xml文件中PayAcct 标签内的数据

from xml.dom import minidom #mimidom.parse将xml文件解析成DOM文档 data = minidom.parse('../练习文件/XML练习.XML') print(type(data)) print('*'*50) #首先利用data.getElementsByTagName('标签名')提取出标签 payacct = data.getElementsByTagName('PayAcct') print(type(payacct)) for i in range(len(payacct)): print(payacct[i].toxml())#toxml还原xml格式 print('*'*50) print('PayAcct标签内容如下:') #再用 firstChild.data 获取标签数据值 for i in range(len(payacct)): print(payacct[i].firstChild.data)如上,minidom.parse()的作用是将xml文档解析成DOM文档,然后通过getElementsTagName()方法提取出标签对,最后通过firstChild.data获取标签内的数据,过程中需要注意的是getElementsTagName()方法提取出标签对返回的结果是一个列表,
结果如下:
>>>
**************************************************1 2 6232621151792579
**************************************************
PayAcct标签内容如下:
1
2
6232621151792579
2. 获取标签属性值
通过getAttribute 获取标签的属性值。如下获取login标签的属性值
张三
from xml.dom import minidom #mimidom.parse将xml文件解析成DOM文档 data = minidom.parse('../练习文件/XML练习.XML') #首先利用data.getElementsByTagName('标签名')提取出标签 login = data.getElementsByTagName('login') print(type(login)) print(login) for i in range(len(login)): print(login[i].toxml()) print('*'*50) #再用 getAttribute('属性值') 获取标签属性值 print('login的属性值如下:') print(login[0].getAttribute('username')) print(login[0].getAttribute('password'))结果如下:
>>>
[] 张三
**************************************************
login的属性值如下:
张三
123456
到此这篇关于python与xml数据的交互详解的文章就介绍到这了,更多相关python与xml数据交互内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- Python深入分析@property装饰器的应用_python_
- Pandas 筛选和删除目标值所在的行的实现_python_
- Python实战基础之绘制饼状图分析商品库存_python_
- 基于Python实现火车票抢票软件_python_
- 使用Python实现火车票查询系统(带界面)_python_
- Python封装zabbix-get接口的代码分享_python_
- Python封装SNMP调用接口的示例代码_python_
- 教你使用pyqt实现桌面歌词功能_python_
- python目标检测实现黑花屏分类任务示例_python_
- 浅析python中5个带key的内置函数_python_
