[英]How to lookup element in AWS response with lxml (namespace issue?)
我正在尝试使用lxml从AWS REST API读取响应,但是没有任何运气。 我可以轻松地解析并打印响应,但是find
或xpath
函数都找不到任何东西。 例如,获取以下文档片段:
<DistributionConfig xmlns="http://cloudfront.amazonaws.com/doc/2013-11-11/">
<CallerReference>e6d6909d-f1ed-47f1-83d9-290acf10f324</CallerReference>
<Aliases>
<Quantity>1</Quantity>
<Items>
这段代码:
from lxml import etree
root = etree.XML( ... )
node = root.find( 'Quantity' )
node
始终为None
。 我已经尝试了各种xpath,例如//Quanity
,. //Quanity
.//Quantity
以及xpath
函数,但找不到任何东西。
如何在此类文档上使用此库?
似乎您还需要提供元素的名称空间:
>>> root.find('.//aws:Quantity', namespaces={'aws': 'http://cloudfront.amazonaws.com/doc/2013-11-11/'})
<Element {http://cloudfront.amazonaws.com/doc/2013-11-11/}Quantity at 0xb6c16aa4>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.