首页 > 解决方案 > 如何使用python从XML中单个根下的数据框创建多个子元素(有子元素)?

问题描述

我正在尝试创建一棵树,其子元素具有多个类别,这些类别还具有子元素。相同类型但不同类别的子元素应位于同一根下。

预期的:

在此处输入图像描述

我知道工作中应该有一个循环,以便不同类别的同一行代码将在这些行上运行以附加到同一根目录下,但很难弄清楚它。

我的代码如下

这只会生成不同的根。

for i in range(len(df["animalId"])):
    category = df[i][0]
    name = df[i][1]
    legs = df[i][2]
    type = df[i][3]

    animals = etree.Element("animals")
    etree.SubElement(animals, "category").text = str(category)
    etree.SubElement(category, "version").text = str(version)
    etree.SubElement(version, "name").text = str(name)
    etree.SubElement(version, "legs").text = str(legs)
    etree.SubElement(version, "type").text = str(type)

    xmlstr =  minidom.parseString(etree.toString(animals)).toprettyxml(indent = "   ")
    print (xmlstr)

结果:

在此处输入图像描述

标签: python

解决方案


推荐阅读