Python 在外部函数中使用minidom appendChild()创建XML文件

Python 在外部函数中使用minidom appendChild()创建XML文件,python,xml,minidom,Python,Xml,Minidom,为了使用Python创建XML文件,我在WriteXMLClass类中使用minidom。minidom中的函数appendChild()通常会显得很安静,因此我想将其存储在外部函数中。但是,对self.base的引用丢失了,我没有得到任何输出 这应该是结果XML文件: <ROOT> <CHILD1> </CHILD1> <CHILD2> </CHILD2> </ROOT

为了使用Python创建XML文件,我在WriteXMLClass类中使用minidom。minidom中的函数
appendChild()
通常会显得很安静,因此我想将其存储在外部函数中。但是,对
self.base
的引用丢失了,我没有得到任何输出

这应该是结果XML文件:

<ROOT>
       <CHILD1>
        </CHILD1>
       <CHILD2>
        </CHILD2>
</ROOT>
如何在
AddEmptyTag()
中像这样使用
appendChild()

import xml.dom.minidom as dom

    class WriteXMLClass(object):
        def __init__(self):
             self.base = dom.Document()

        def AddEmptyTag(self, tagname, PARENTNODE):   #NEW
             tag = self.base.createElement(tagname)
             PARENTNODE.appendChild(tag)              #NEW
             return tag    

        def CreateXML(self, Objects):
             self.base = dom.Document()

             tagdict = self.base.createElement('ROOT')
             self.base.appendChild(tagdict)

             tagCHILD = self.AddEmptyTag('CHILD1', tagdict) #NEW
             tagCHILD2 = self.AddEmptyTag('CHILD2', tagdict) #NEW

             self.base.writexml(PATH, "", "\t", "\r\n", "utf-8")

tagdict
应该是什么?您是否应该使用
self.tagdict
?它只是
根标记的一个引用。但是您试图在
AddEmptyTag
中引用它,其中没有定义它。是否可以通过引用
AddEmptyTag
来传递
tagdict
?您可以将它作为参数传递,但目前还没有这样做。在Python中只能通过赋值传递。
import xml.dom.minidom as dom

    class WriteXMLClass(object):
        def __init__(self):
             self.base = dom.Document()

        def AddEmptyTag(self, tagname, PARENTNODE):   #NEW
             tag = self.base.createElement(tagname)
             PARENTNODE.appendChild(tag)              #NEW
             return tag    

        def CreateXML(self, Objects):
             self.base = dom.Document()

             tagdict = self.base.createElement('ROOT')
             self.base.appendChild(tagdict)

             tagCHILD = self.AddEmptyTag('CHILD1', tagdict) #NEW
             tagCHILD2 = self.AddEmptyTag('CHILD2', tagdict) #NEW

             self.base.writexml(PATH, "", "\t", "\r\n", "utf-8")