Как проанализировать XML с несколькими дочерними элементами для массива в Python - PullRequest
0 голосов
/ 20 сентября 2019

я пытаюсь прочитать XML-файл в массив или перечислить XML-файл имеет несколько дочерних элементов:

<Items>
<Company CompanyName="company name">
    <Category CategoryName="main category name" />
    <Category CategoryName="sub category name">
        <Product MAKAT="SKU">
            <Name>name</Name>
            <Price>XXX</Price>
            <IsInStock>Yes</IsInStock>
            <URL>url</URL>
        </Product>
    </Category>
    </Category>
</Company>

Я пытался сделать это:

tree = ET.parse(xmlFile)
root = tree.getroot()
products=[]
for item in tree.findall('Company'):
    print(item.attrib)
for subitem in tree.findall('CategoryName'):
    print(subitem.attrib)

но я не могу добраться до всех элементов.

Я хочу добраться до всех дочерних элементов и вставить их в один массив.Каков наилучший способ сделать это в Python?

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете выполнять итерацию по всем дочерним элементам, используя метод iter (), например:

for elem in root.iter():
    print(elem.tag)

Если вы хотите сохранить элементы в массиве продуктов, вы можете сделать это с помощью numpy: обязательноиспользуйте np.array([elem]), чтобы заставить np.append() работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...