我无法在课堂上致电xml.dom.minidom.parse()
作为一个纯粹的例子,
class XmlReader:
def __init__(self, xml):
self.xml = xml
DOMTree = xml.dom.minidom.parse("test.xml")
xmlReader = XmlReader("test.xml")
抛出
File "handler2.py", line 10, in ?
xmlReader = XmlReader("test.xml")
File "handler2.py", line 8, in __init__
DOMTree = xml.dom.minidom.parse("test.xml")
AttributeError: 'str' object has no attribute 'dom'
但是我可以在外面调用xml.dom.minidom.parse就好了。
为了能够在我的XmlReader类中调用该函数,我需要更改什么?
答案 0 :(得分:3)
在构造函数中,xml
引用参数 xml
而不是模块 xml
。这称为 shadowing 。为其中一个选择一个不同的名称。
import xml as xml_module
或
from xml.dom import minidom
或
def __init__(self, xml_data):