0

我必须解析一个文件以找到每个文件的 min 和 mult qtysku

<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”对象没有属性“文本”

当交互式运行并将最后一行更改为...

print elem.find('sku').text

它有效,但线路...

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

失败。怎么了 ?

4

1 回答 1

1

您的 XPath 中有错字,您需要vMin = elem.find('quantity/min-order-quantity').text代替vMin = elem.find('quantity/min_order_quantity').text(即用连字符代替下划线)

于 2016-11-19T18:45:44.827 回答