Mi archivo XML tiene el siguiente aspecto:Usando XPath en elementtree
<?xml version="1.0"?>
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2008-08-19">
<Items>
<Item>
<ItemAttributes>
<ListPrice>
<Amount>2260</Amount>
</ListPrice>
</ItemAttributes>
<Offers>
<Offer>
<OfferListing>
<Price>
<Amount>1853</Amount>
</Price>
</OfferListing>
</Offer>
</Offers>
</Item>
</Items>
</ItemSearchResponse>
Todo lo que quiero hacer es extraer ListPrice.
Este es el código que estoy utilizando:
>> from elementtree import ElementTree as ET
>> fp = open("output.xml","r")
>> element = ET.parse(fp).getroot()
>> e = element.findall('ItemSearchResponse/Items/Item/ItemAttributes/ListPrice/Amount')
>> for i in e:
>> print i.text
>>
>> e
>>
Absolutamente ninguna salida. También probé
>> e = element.findall('Items/Item/ItemAttributes/ListPrice/Amount')
No hay ninguna diferencia.
¿Qué estoy haciendo mal?
Muchas gracias. Estaba a punto de golpearme la cabeza contra la pared varias veces. –
No hay problema, deberían dar un ejemplo con espacios de nombres en su documentación para find y findall. –
bueno, podrían haber dejado esto más claro en la documentación ... ¡gracias! – jorrebor