如何使用python在XML的根元素下创建多个子元素?

Sij*_*tha 1 xml python-3.x

我正在尝试使用具有以下输出的 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是您将新创建的元素附加到的标签。在您的示例中,所有idname元素都附加到product您创建的第一个- doc

尝试以相同的方式创建第二个并附加到那个,即添加

doc2 = ET.SubElement(root, "product")
Run Code Online (Sandbox Code Playgroud)

并切换doc2doc在第二组的产品详情。