现在发现问题了。在
我的XML响应包含以下内容:<?xml version="1.0" encoding="utf-8"?>
boolean
OrderArrayType
OrderType
AmountType (double)
AmountType (double)
AmountType (double)
string
UserIDType (string)
CheckoutStatusType
...
解析XML后:
^{pr2}$
它返回每个前缀为{urn:ebay:apis:eBLBaseComponents}的元素
例如,如果我需要搜索
result = tree.findall(".//BuyerCheckoutMessage")它将不返回任何内容,因为该元素看起来像{urn:ebay:apis:eBLBaseComponents}BuyerCheckoutMessage。在
因此,为了搜索元素,我需要在每个XPath查询之前包括{urn:ebay:apis:eBLBaseComponents},以便检索我的元素。在
所以解决方案是使用:
result = tree.findall(".//{urn:ebay:apis:eBLBaseComponents}BuyerCheckoutMessage")result[0].text将返回elements值。在
为什么它不起作用ET.搜索(xml,“XPath查询”)是我最大的秘密。浪费了这么多时间。在