首页 > 解决方案 > 使用 ElementTree.SubElement 添加多个子元素

问题描述

我想创建一个类似于此示例的 xml 文件

<Company>
  <Employee>
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
      <Address>
        <place>
            <City>
                <CityName>
                   Bangalore 
                </CityName>
            </City>
            <State>Karnataka</State>
            <Zip>560212</Zip>
        </place>
      </Address>
  </Employee>
</Company>

我使用 ElementTree 并且根据我的研究,添加子元素的唯一方法是通过

import xml.etree.cElementTree as ET

root = ET.Element("Company")
doc = ET.SubElement(root, "Employee")

我想知道是否有任何方法可以指定一个路径来生成所有子元素,例如

ET.SubElement("Employee/Address/place/City/CityName")

我发现了一个类似的问题How to create multiple sub element under a root element in XML using python? . 但这指的是创建多个员工而不是从路径创建子元素。

我在堆栈溢出中发现的其他问题是指创建不超过一两个级别的基本 xml 文档,答案建议有多个 .SubElement 行,这对于该级别的数量是有意义的。

我仅将员工示例用于演示目的。我需要创建的实际 xml 将有 ~ 12 个 root 子元素,然后这 12 个子元素将有 ~11 个自己的子元素。任何建议将不胜感激。

标签: pythonxmlelementtree

解决方案


推荐阅读