[英]How to write xml file with multiple root element using ElementTree in python
我有python脚本,并且已经使用xml.etree.cElementTree
编写了写入xml文件的逻辑,该逻辑如下所示
import xml.etree.cElementTree as ET
root = ET.Element("root")
for I in range(0,10):
ET.SubElement(root, "field1").text = "some value1"
ET.SubElement(root, "field2").text = "some vlaue2"
tree = ET.ElementTree(root)
tree.write("filename.xml")
它给输出像
<root>
<field1>some value1</field1>
<field2>some value2</field2>
<field1>some value1</field1>
<field2>some value2</field2>
<field1>some value1</field1>
<field2>some value2</field2>
<field1>some value1</field1>
<field2>some value2</field2>......
</root>
但我想添加多个根,需要像下面这样放
<root>
<field1>some value1</field1>
<field2>some value2</field2>
</root>
<root>
<field1>some value1</field1>
<field2>some value2</field2>
</root>
<root>
<field1>some value1</field1>
<field2>some value2</field2>
</root>
<root>
<field1>some value1</field1>
<field2>some value2</field2>
</root>
是否可以在python中使用xml.etree.cElementTree
像上述文件一样编写
您要生成的是无效的xml。 请参阅您是否始终需要具有xml / xsd的根节点? 有关更多信息。
另外,您始终可以手动连接字符串。
import xml.etree.cElementTree as ET
result= ''
for I in range(0, 10):
root = ET.Element("root")
ET.SubElement(root, "field1").text = "some value1"
ET.SubElement(root, "field2").text = "some vlaue2"
result += ET.tostring(root)
print(result) # or write the result to a file
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.