2016-11-19 17 views
0

Ich habe eine Datei zu analysieren min und mult Menge jedes sehr einfach skuKein Typ zurückgegeben/Tag nicht gefunden

<product sku="13603"> 
    <sku>13603</sku> 
    <quantity unit="pcs"> 
    <min-order-quantity>1</min-order-quantity> 
    <step-quantity>1</step-quantity> 
    </quantity>  
</product> 
<product sku="13713"> 
    <sku>13713</sku> 
    <quantity unit="pcs"> 
    <min-order-quantity>1</min-order-quantity> 
    <step-quantity>1</step-quantity> 
    </quantity> 
</product>  
... 

Mein Programm zu finden ist

from lxml import etree 
tree = etree.parse('./file-above.xml') 
for elem in tree.iterfind('product'): 
vSKU = elem.find('sku').text 
vMin = elem.find('quantity/min_order_quantity').text 

Wenn ich es laufen lassen, einen Fehler erzeugt:

AttributeError: 'NoneType' object has no attribute 'text'

Wenn interaktiv ausführen und Ändern der letzten Zeile zu ...

print elem.find('sku').text 

es funktioniert, aber die Linie ...

print elem.find('quantity/min_order_quantity').text 

ausfällt. Was ist los mit dir ?

Antwort

1

Sie haben einen Tippfehler in Ihrem XPath, müssen Sie vMin = elem.find('quantity/min-order-quantity').text statt vMin = elem.find('quantity/min_order_quantity').text (d Bindestrich anstelle von Unterstrichen)

Verwandte Themen