我得到了一个目录,我必须编写一个 python 脚本来创建一个包含该目录中所有 .xml 文件的 xml 文件。
例如,假设 /tmp/ 包含以下 xml 文件:
beans.xml
cakes.xml
donuts.xml
我试图弄清楚如何编写一个创建以下 xml 的脚本:
<root>
<include file="/tmp/beans.xml"/>
<include file="/tmp/cakes.xml"/>
<include file="/tmp/donuts.xml/>
</root>
到目前为止,这是我拼凑起来的,但它每次都会覆盖文件标签,所以只包含 donuts.xml
import lxml.etree
import lxml.builder
import glob
import os
E = lxml.builder.ElementMaker()
ROOT = E.root
DOC = E.include
os.chdir("/tmp/")
for f in glob.glob("*.xml"):
the_doc = ROOT(
DOC(file=f)
)
print lxml.etree.tostring(the_doc, pretty_print=True)
这是我的脚本现在的输出:
<root>
<include file="/tmp/donuts.xml"/>
</root>
如何保持 beans.xml 和 cakes.xml 表单被覆盖?