0

我对 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 函数主要拼写正确,但由于某种原因,我得到了这个错误。

非常感谢任何帮助。

而且我还想知道,如何在 python 中使用 XSD 模式验证 xml?

4

2 回答 2

0

邪恶在self = minidom.parse(xmlfile)

于 2013-02-17T20:40:01.490 回答
0

“self = minidom.parse(xmlfile)”覆盖您刚刚创建的 Xmlparse 对象。您想将 xml 文档分配给变量:

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
于 2013-02-17T21:21:36.703 回答