【发布时间】:2012-02-05 22:52:15
【问题描述】:
这是我的代码:
def extract_infos(i):
blabla...
blabla calculate v...
dom = xml.dom.minidom.parseString(v)
return dom
doc = xml.dom.minidom.Document()
for i in range(1,100):
dom = extract_infos(i)
for child in dom.childNodes:
doc.appendChild(child.cloneNode(True))
最后两行工作一次:
Traceback (most recent call last):
File "./c.py", line 197, in <module>
doc.appendChild(child.cloneNode(True))
File "/usr/lib/python2.6/xml/dom/minidom.py", line 1552, in appendChild
"two document elements disallowed")
xml.dom.HierarchyRequestErr: two document elements disallowed
所以我的问题是:如何将两个现有文档放入一个新文档中(将每个文档的根元素放入一个新的总体根元素中)。
【问题讨论】:
-
@Olivier,我的回答确实显示了如何以相当“干净”的方式将 DOM 附加到另一个,但我想你想要别的东西。我不明白您在对 Lattyware 的回答的评论中提到的解决方案。最终结果是格式良好的 XML 文档,还是它是什么?
-
@Oliver 我终于明白了你的问题——你要求在另一个 dom 的末尾添加一个 dom,但你真正想要的是获取两个文档并将它们都作为新文档的一部分,这是另一回事。前者在生成 XML 时是不可能的,因此我的回答是。另一方面,后者是。
-
@Lattyware 我可以请您相应地更新我的问题吗?我的英语很抱歉,还有改进的余地:/ 再次感谢您
-
我已经提交了一个编辑(必须经过同行评审才能生效),我认为它阐明了您想要的内容。我会将问题表述为“如何将两个现有文档放入一个新文档中(将每个文档的根元素放入一个新的总体根元素中)。”