解析XML时python中的属性错误

时间:2013-02-17 20:37:05

标签: python xml xml-parsing

我是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?

2 个答案:

答案 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