XML найти элемент по значению, а затем найти элемент, который на 3 шага ниже - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть две проблемы, во-первых, когда я ищу элемент EAN, он находит только элемент Item.

И вторая, когда я найду элемент EAN, мне нужно получить * Элемент 1006 *, который на 3 шага ниже, как мне этого добиться?

<?xml version='1.0'?>
<OrderStatus>
<SupplierParty>12238</SupplierParty>
<DeliveryParty>5020109</DeliveryParty>
<OrderValue>3509.56</OrderValue>
<OrderDate>2020-03-30T00:00:00</Orderdate>
<OrderNumber>PO03391</OrderNumber>
<OrderStatus>C</OrderStatus>
<DeliveryStatus>C</DeliveryStatus>
    <Item>
        <ID>000100</ID>
        <ProductID>9206138</ProductID>
        <EAN>4023149902277</EAN>
        <Zzkommnr>KITAIP</Zzkommnr>
        <Quantity>9</Quantity>
        <Date>2020-04-07T00:00:00</Date>
        <ID>000200</ID>
        <ProductID>66079</ProductID>
        <EAN>4023149660795</EAN>
        <Zzkommnr>test</Zzkommnr>
        <Quantity>20</Quantity>
        <Date>2020-04-07T00:00:00</Date>
        <ID>000500</ID>
        <ProductID>9150618</ProductID>
        <EAN>4023149169069</EAN>
        <Zzkommnr>testas</Zzkommnr>
        <Quantity>5</Quantity>
        <Date>2020-04-07T00:00:00</Date>
    </Item>
</OrderStatus>


import xml.etree.ElementTree as ET

result_xml = response.text.encode('utf-8')
root = ET.fromstring(result_xml)
result = root.findall("./Item[EAN='4023149902277']")
print(result)

вот что выводит на печать, и по какой-то причине он не находит мой элемент EAN.

[<Element 'Item' at 0x7fc208b9c190>]
...