1 前言
上次总结了txt和csv两种文件的读取方式,这次再总结一下xml文件、json文件的读取方式。xml即可扩展标记语言,它可以用来标记数据、定义数据类型;而JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式。
2 操作举例
2.1 读取xml文件
2.1.1 xml文件的读取方式
data.xml中的数据:
<?xml version="1.0" encoding="utf-8"?>
<type>
<num>4</num>
<login username="admin" password="passwd">
<name>Python</name>
<item id="1">
<caption>user</caption>
</item>
</login>
<item id="2">
<caption>admin</caption>
</item>
</type>
test_readData.py中的代码:
from selenium import webdriver
import pytest
import csv
import xml.dom.minidom
def test():
#打开xml文档
dom=xml.dom.minidom.parse('data/data.xml')
root=dom.documentElement
#获取标签名
num = root.getElementsByTagName('num')
print(num[0].tagName)
#获取login标签的属性值
logins=root.getElementsByTagName('login')
print(logins[0].getAttribute("username"))
print(logins[0].getAttribute("password"))
#获取item标签的属性值
items=root.getElementsByTagName('item')
print(items[0].getAttribute("id"))
print(items[1].getAttribute("id"))
# 获取标签对之间的数据
captions = root.getElementsByTagName('caption')
#打印内容
print(captions[1].firstChild.data)
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
2.2 读取Json文件
2.2.1 Json文件的读取方式
test.json中的数据:
[{
"name": "user",
"age": 10,
"demo":{
"data": 11
}},
{
"name": "admin",
"age": 12,
"demo":{
"data": 13
}
}]
test_readData.py中的代码:
import pytest
import json
def test():
#打开json文件,设置编码格式为utf-8
file=open("data/test.json",encoding='utf-8')
#加载json文件
cont=json.load(file)
#读取第二组demo中的data数据
data=cont[1]['demo']['data']
#读取第一组name数据
name= cont[1]['name']
#读取第一组age数据
age=cont[0]['age']
#打印相应的值
print(data)
print(name)
print(age)
if __name__ == '__main__':
pytest.main(["-sq","test_readData.py"])
欢迎关注「技术分享交流」公众号 ,如果有建议或者疑问的话,欢迎大家评论留言,如果喜欢公众号文章的话可以点【在看】,您的鼓励就是我的动力哈!!!