首先,获得标签信息abc.xml
<?xml version="1.0" encoding="utf-8"?> <catalog> <maxid>4</maxid> <login username="pytest" password="123456"> <caption>Python</caption> <item id="4"> <caption>Testing</caption> </item> </login> <item id="2"> <caption>Zope</caption> </item> </catalog>
python获取catalog标签的信息
# -*- coding:utf-8 -*- import xml.dom.minidom # 打开xml文档 dom = xml.dom.minidom.parse(‘abc.xml‘) # 得到文档元素对象 root = dom.documentElement print root.nodeName print root.nodeValue print root.nodeType print root.ELEMENT_NODE
xml.dom.minidom 模块被用来处理xml文件
parse():用于打开一个xml文件
documentElement:用于得到dom对象的文档元素,并将获得的对象给root,每一个结点都有它的nodeName,nodeValue,nodeType属性
nodeName:结点名字
nodeValue:结点值,只对文本结点有效
nodeType:结点类型
二、获得子标签:
<maxid>
<login>
import xml.dom.minidom dom = xml.dom.minidom.parse(‘abc.xml‘) root = dom.documentElement bb = root.getElementsByTagName(‘maxid‘) bb = bb[0] print bb.nodeName bb = root.getElementsByTagName(‘login‘) bb = bb[0] print bb.nodeName
三、区分相同标签名字的标签
<caption>
<item>
import xml.dom.minidom # 打开xml文档 dom = xml.dom.minidom.parse(‘abc.xml‘) # 得到文档元素对象 root = dom.documentElement aa = root.getElementsByTagName(‘caption‘) a = aa[2] print a.nodeName aa = root.getElementsByTagName(‘item‘) a = aa[1] print a.nodeName
root.getElementsByTagName(‘caption‘)获得的标签是caption一组标签
四、获得标签的属性值
username="pytest" password="123456"
id="4"
id="2"
import xml.dom.minidom # 打开xml文档 dom = xml.dom.minidom.parse(‘abc.xml‘) # 得到文档元素对象 root = dom.documentElement # 获取标签的属性值 itemlist = root.getElementsByTagName(‘login‘) item = itemlist[0] un = item.getAttribute(‘username‘) print un pd = item.getAttribute(‘password‘) print pd ii = root.getElementsByTagName(‘item‘) i1 = ii[0] i = i1.getAttribute(‘id‘) print i i2 = ii[1] i = i2.getAttribute(‘id‘) print i
五、获得标签对之间的数据
<caption>Python</caption>
<caption>Testing</caption>
<caption>Zope</caption>
import xml.dom.minidom # 打开xml文档 dom = xml.dom.minidom.parse(‘abc.xml‘) # 得到文档元素对象 root = dom.documentElement cc = dom.getElementsByTagName(‘caption‘) c1 = cc[0] print c1.firstChild.data c2 = cc[1] print c2.firstChild.data c3 = cc[2] print c3.firstChild.data
时间: 2024-10-21 16:45:05