我正在尝试检查django应用程序中的某些xml是否具有某些元素/节点,如果不是仅仅跳过该代码块。我正在使用hasattr()检查元素是否存在,如果元素不存在,则返回false:
if hasattr(product.ItemAttributes, 'ListPrice') \ and hasattr(product.Offers.Offer.OfferListing, 'PercentageSaved') \
and hasattr(product.LargeImage, 'URL'):
除了我的情况,它抛出一个属性错误:
AttributeError at /update_products/
no such child: {http://webservices.amazon.com/AWSECommerceService/2011-08-01}LargeImage
我不明白为什么它会抛出错误而不是只返回false并让我跳过代码块?
答案 0 :(得分:3)
该错误正在抱怨LargeImage
。这是由这个表达式引起的:product.LargeImage
。您可能想先检查一下,甚至更好,将其放在try/except
块中。