示例一:
<?xml version="1.0" encoding="UTF-8"?>
<Humors>
<Humor>
<ID>H01</ID>
<Contents>“老师,您找我啊?” “听说你最近经常犯事儿啊。你昨天逃课了吧?” “额。。。我是有逃课。” “你在宿舍用热得快了吧?” “我是有用的。” “你在寝室用电吹风了吧?” “嗯。。。我是有用的。” “哦,老师错怪你了,去把你是有(室友)叫来!”</Contents>
<Class>谐音</Class>
</Humor>
<Humor>
<ID>H02</ID>
<Contents>“你们商店门口的牌子上明明写着上午八点开门,可每天都要推迟二十分钟。” “我们马上就改!” “打算怎么改呢?” “把牌子上的时间改为八点三十分。”</Contents>
<Class>反转</Class>
</Humor>
</Humors>
代码:
from xml.dom.minidom import parse
import xml.dom.minidom
#from config import globalparam
xml_path='路径'
# 使用minidom解析器打开 XML 文档
DOMTree = xml.dom.minidom.parse(xml_path)
collection = DOMTree.documentElement
#建立Humor对象的列表
Humors = collection.getElementsByTagName("Humor")
data_list=[]
for humor in Humors:
ID = humor.getElementsByTagName('ID')[0]
#print("ID: %s" % ID.childNodes[0].data)
#或者写法也可以是:ID_str = ID.firstChild.data
ID_str = ID.childNodes[0].data
Contents = humor.getElementsByTagName('Contents')[0]
Contents_str = Contents.childNodes[0].data
Class = humor.getElementsByTagName('Class')[0]
Class_str = Class.childNodes[0].data
data_list.append(ID_str+'\t'+Contents_str+'\t'+Class_str)
示例二:
原xml文件: loginError.xml
<?xml version="1.0" encoding="UTF-8"?>
<Data>
<test>RpmsLoginCase</test>
<failLogin1 username="" password="" expected="请填写手机号" />
<failLogin2 username="13679130021" password="" expected="请输入密码" />
<failLogin3 username="13679130021" password="12345678" expected="请输入验证码" />
</Data>
读取xml的py文件: xmlData.py
# coding:utf-8
import xml.dom.minidom
from config import globalparam
#可能是读取文件名
xml_path=globalparam.xml_path
def getXmlData(value):
dom = xml.dom.minidom.parse(xml_path)
db = dom.documentElement
name = db.getElementsByTagName(value)
nameValue = name[0]
return nameValue.firstChild.data
def getXmlUser(parent, child):
dom = xml.dom.minidom.parse(xml_path)
db = dom.documentElement
itemlist = db.getElementsByTagName(parent)
item = itemlist[0]
return item.getAttribute(child)
if __name__=='__main__':
print getXmlData('test')
print getXmlUser('failLogin1','expected')