我是Python的新手。我正在开发一个用Python解析XML的项目,我的Python代码是:
from xml.dom import minidom
from copy import copy
class Xmlparse:
def __init__(self, xmlfile):
self = minidom.parse(xmlfile)
def findadress(self):
itemlist =self.getElementsByTagName('addresses')
return itemlist[0].attributes['firstname'].value
if __name__ == '__main__':
with open("sample.xml") as f:
parse = Xmlparse(f)
print parse.findadress()
但是当我运行此代码时,我收到输出错误:
AttributeError: Xmlparse instance has no attribute 'findadress'
并且findadress函数在main中拼写正确,但由于某种原因,我得到了这个错误。
非常感谢任何帮助。
我还想知道,如何在python中使用XSD架构验证xml?
答案 0 :(得分:0)
邪恶在self = minidom.parse(xmlfile)
答案 1 :(得分:0)
“self = minidom.parse(xmlfile)”会覆盖刚刚创建的Xmlparse对象。您希望将xml doc分配给变量:
from xml.dom import minidom
from copy import copy
class Xmlparse:
def __init__(self, xmlfile):
self.doc = minidom.parse(xmlfile)
def findadress(self):
itemlist =self.doc.getElementsByTagName('addresses')
return itemlist[0].attributes['firstname'].value