Как л oop через XML строк? - PullRequest
       29

Как л oop через XML строк?

0 голосов
/ 23 февраля 2020

У меня есть структура xml, например, так:

<Resident Id="100">
    <Name>Sample Name</Name>
    <PhoneNumber>12345642357891</PhoneNumber>
    <EmailAddress>sample_name@example.com</EmailAddress>
    <Address>
        <StreetLine1>Street Line1</StreetLine1>
        <City>City Name</City>
        <StateCode>AE</StateCode>
        <PostalCode>12345</PostalCode>
    </Address>
</Resident>

Я хочу l oop через каждую строку, и пока я могу сделать следующее (фрагмент)

for element in root:
    listOfAttribAndValues = []
    listOfAttribAndValues.append(int(element.get("Id")))
    listOfAttribAndValues.append(element.find('Name').text)
    #and so on and then write them to a list, and then write the list to a csv file
    writer.writerow(listOfAttribAndValues)

Есть ли простой способ l oop через каждую строку (Name, PhoneNumber, et c) вместо точного определения значения каждого элемента?

1 Ответ

1 голос
/ 24 февраля 2020

Ваше решение верное. Как уже упоминалось в комментариях, не существует понятия XML «строк». XML это дерево. Элементы связаны с их родительскими элементами и дочерними элементами, но не друг с другом. На самом деле, ни один конкретный порядок не гарантируется и не ожидается среди элементов одинаковой глубины в дереве.

Ответ здесь может помочь улучшить ваш код: { ссылка }

...