我正在尝试使用具有以下输出的 python3 创建一个简单的 XML 文件。
<products>
<product>
<id>1</id>
<name>Apple</name>
</product>
<product>
<id>2</id>
<name>Banana</name>
</product>
</products>
Run Code Online (Sandbox Code Playgroud)
我浏览了 xml.etree.ElementTree 但是我找不到如上完成的确切方法
我可以实现这样的目标
<products>
<product>
<id>1</id>
<name>Apple</name>
<id>2</id>
<name>Banana</name>
</product>
</products>
Run Code Online (Sandbox Code Playgroud)
以下是我使用的代码:
import xml.etree.cElementTree as ET
root = ET.Element("products")
doc = ET.SubElement(root, "product")
ET.SubElement(doc, "id").text = "some value1"
ET.SubElement(doc, "name").text = "some vlaue1"
ET.SubElement(doc, "id").text = "some value2"
ET.SubElement(doc, "name").text = "some vlaue2"
tree = ET.ElementTree(root)
tree.write("filename.xml")
Run Code Online (Sandbox Code Playgroud)
我想在根产品下创建不同的产品子元素。关于如何实现这一点的任何建议都会很棒。
小智 5
的第一个参数SubElement是您将新创建的元素附加到的标签。在您的示例中,所有id和name元素都附加到product您创建的第一个- doc。
尝试以相同的方式创建第二个并附加到那个,即添加
doc2 = ET.SubElement(root, "product")
Run Code Online (Sandbox Code Playgroud)
并切换doc2为doc在第二组的产品详情。