Добавление нескольких подэлементов с помощью ElementTree.SubElement - PullRequest
0 голосов
/ 27 июня 2018

Я хотел бы создать 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")

Я нашел похожий вопрос Как создать несколько подэлементов под корневым элементом в XML с помощью python? . Но это относится к созданию нескольких сотрудников, а не к созданию подэлементов из пути.

Другие вопросы, которые я обнаружил в стеке над потоком, относятся к созданию базовых XML-документов, которые не проходят один или два уровня, и ответы предполагают наличие нескольких строк .SubElement, что имеет смысл для такого количества уровней.

Я использовал пример работника только в демонстрационных целях. Фактический xml, который мне нужно создать, будет иметь ~ 12 подэлементов root, а затем эти 12 подэлементов будут иметь ~ 11 собственных подэлементов. Любые предложения будут высоко оценены.

...