我有两个文件,如下所示:
parent.xml
<?xml version="1.0" ?>
<persons>
<person name="Tom" surname="Tomerson"/>
<person name="Dave" surname="Davidson"/>
</persons>
child.xml
<?xml version="1.0" ?>
<person name="Mike" surname="Michaelson"/>
我想将子文件中的元素添加到父文件中,以便最终得到如下所示的parent.xml文件:
<?xml version="1.0" ?>
<persons>
<person name="Tom" surname="Tomerson"/>
<person name="Dave" surname="Davidson"/>
<person name="Mike" surname="Michaelson"/>
</persons>
然而,实际上我最终得到的是一个看起来像这样的parent.xml文件:
<?xml version="1.0" ?>
<persons>
<person name="Tom" surname="Tomerson"/>
<person name="Dave" surname="Davidson"/>
<person name="Mike" surname="Michaelson"/></persons>
,即新元素的缩进与前面的元素不匹配。添加新元素后没有插入新行。我正在尝试的代码如下:
import xml.dom.minidom
class add_xml_fragment:
def add_fragment(self, file, parentFile):
childDoc = xml.dom.minidom.parse(file)
elem = childDoc.documentElement
parent_doc = xml.dom.minidom.parse(parentFile)
parent_root = parent_doc.documentElement
parent_root.appendChild(elem)
parent_doc.writexml(open(parentFile,'w'))
instance = add_xml_fragment()
instance.add_fragment("child.xml", "parent.xml")
如何修改上面的代码以使用正确的缩进和换行符来实现所需的文件?