我从amazonwebservice得到了以下XML。在
<aws:UrlInfoResponse>
<aws:Response>
<aws:OperationRequest>
<aws:RequestId>8789797</aws:RequestId>
</aws:OperationRequest>
<aws:UrlInfoResult>
<aws:Alexa>
<aws:TrafficData>
<aws:DataUrl type="canonical">google.com/</aws:DataUrl>
<aws:Rank>1</aws:Rank>
</aws:TrafficData>
</aws:Alexa>
</aws:UrlInfoResult>
<aws:ResponseStatus>
<aws:StatusCode>Success</aws:StatusCode>
</aws:ResponseStatus>
</aws:Response>
</aws:UrlInfoResponse>
当我试图提取军衔时。在
^{pr2}$它给了我错误。在
AttributeError: Element instance has no attribute 'replace'
这里的问题是,您试图对一个XML元素使用replace,该元素不是一个列表,也不是一个字符串,它将具有.replace()。在
由于您是通过使用
=getElementsByTagName('aws:Rank')[0]
来选择元素(这是一个元素对象),所以您只有一件事需要处理。在您需要的数据可以通过以下方式获得:
或者
^{pr2}$(@root,你有这个权利,我不知道你为什么被否决)
现在我在解析XML时遇到了一些问题,因为名称空间没有绑定,但这并不是什么大问题。在
这样的片段可能更清楚:
但老实说,您可能需要查看minidom中元素对象的信息:
http://docs.python.org/2/library/xml.dom.html#dom-element-objects
相关问题 更多 >
编程相关推荐