【python】在用dom读取xml文件的文档对象、元素对象的类型(用的type())时 出现<type 'instance'> 而不是具体类型时?
参考
【获取python对象的类型名字 不希望全都只显示<type 'instance'>?】
【python中的 type 与 object】(篇幅比较大)
当使用type() 查看变量的类型名时,一般都显示诸如:‘str’ 'int'等类型名;
但是当变量是一个对象的实例时,使用type() 得到的类型名都显示为<type 'instance'>
此时,若想得到该对象实例的类型名,需要使用 '.__class__' 来获得类型名。
下面,举个例子。
【举例】【在用dom读取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.documentElement print "domobj.documentElement:", type(elementobj) print "domobj.documentElement:", elementobj.__class__ #获得子标签 subElementObj = elementobj.getElementsByTagName("login") print "getElementsByTagName:", type(subElementObj)
【输出 对比】
xml文件路径: D:\pypro\venv\nlpdata\test_g2.xml xmldom.parse: <type 'instance'> xmldom.parse: xml.dom.minidom.Document domobj.documentElement: <type 'instance'> domobj.documentElement: xml.dom.minidom.Element getElementsByTagName: <class 'xml.dom.minicompat.NodeList'>
其他待补充