2016-11-19 5 views
0
나는 각 sku

없음 타입 반환/태그는

<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>  
... 

내 프로그램의 최소 및 멀티 포트 수량을 찾기 위해 파일을 구문 분석 할 필요가

은 매우 간단 발견되지

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 

나는 그것을 실행

, 그것을

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

대화식으로 실행하고 마지막 줄을 ...로 변경하면

print elem.find('sku').text 

은 작동하지만 라인 ...

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

이 실패합니다. 뭐가 문제 야 ?

답변

1

당신은 당신의 XPath에 오타가 대신 vMin = elem.find('quantity/min_order_quantity').textvMin = elem.find('quantity/min-order-quantity').text (즉, 하이픈 대신 밑줄)

필요