参考
【】【】【】
【尝试】
【参考第【3】个博客】
【原版代码】
#coding=utf-8#通过minidom解析xml文件import xml.dom.minidom as xmldomimport os''' XML文件读取'''xmlfilepath = os.path.abspath("test.xml")print ("xml文件路径:", xmlfilepath)# 得到文档对象domobj = xmldom.parse(xmlfilepath)print("xmldom.parse:", type(domobj))# 得到元素对象elementobj = domobj.documentElementprint ("domobj.documentElement:", type(elementobj))#获得子标签subElementObj = elementobj.getElementsByTagName("login")print ("getElementsByTagName:", type(subElementObj))print (len(subElementObj))# 获得标签属性值print (subElementObj[0].getAttribute("username"))print (subElementObj[0].getAttribute("passwd"))#区分相同标签名的标签subElementObj1 = elementobj.getElementsByTagName("caption")for i in range(len(subElementObj1)): print ("subElementObj1[i]:", type(subElementObj1[i])) print (subElementObj1[i].firstChild.data) #显示标签对之间的数据 4 dasdas Python - 测试
- Zope
报错了,貌似是因为我的python版本低的缘故?两个问题:
(1)一个是print那里的括号问题。
(2)一个是type()函数取得对象类型名时,都只显示<type 'instance'>而不是更为具体详细的类型名。
所以,改动一下。
【改动后】
#coding=utf-8#通过minidom解析xml文件import xml.dom.minidom as xmldomimport os''' XML文件读取'''xmlfilepath = os.path.abspath("test_g2.xml")print "xml文件路径:", xmlfilepath# 得到文档对象domobj = xmldom.parse(xmlfilepath)print "xmldom.parse:", type(domobj)print "xmldom.parse:", domobj.__class__# 得到元素对象elementobj = domobj.documentElementprint "domobj.documentElement:", type(elementobj)print "domobj.documentElement:", elementobj.__class__#获得子标签subElementObj = elementobj.getElementsByTagName("login")print "getElementsByTagName:", type(subElementObj)print len(subElementObj)# 获得标签属性值print subElementObj[0].getAttribute("username")print subElementObj[0].getAttribute("passwd")#区分相同标签名的标签subElementObj1 = elementobj.getElementsByTagName("caption")for i in range(len(subElementObj1)): print "subElementObj1[i]:", type(subElementObj1[i]) print subElementObj1[i].firstChild.data #显示标签对之间的数据 4 dasdas Python - 测试
- Zope
待补充