Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用python解析AmazonXML_Python_Amazon Web Services - Fatal编程技术网

用python解析AmazonXML

用python解析AmazonXML,python,amazon-web-services,Python,Amazon Web Services,我从AmazonWeb服务中获得了以下XML <aws:UrlInfoResponse> <aws:Response> <aws:OperationRequest> <aws:RequestId>8789797</aws:RequestId> </aws:OperationRequest> <aws:UrlInfoResult>

我从AmazonWeb服务中获得了以下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>

这里的问题是,您试图在XML元素上使用replace,该元素不是列表,也不是字符串,它将具有.replace()

由于您是通过使用
=getElementsByTagName('aws:Rank')[0]
来挑选元素(元素对象),因此您只有一件事要做

您可以通过以下方式访问所需的数据:

itemlist.firstChild.data

(@root,你有这个权利,我不知道你为什么被否决)

现在我在解析XML时遇到了一些问题,因为名称空间没有绑定,但这并不是什么大问题

可能更清楚的是片段本身:

xmldoc = minidom.parse(response)
xmlElement = xmldoc.getElementsByTagName('aws:Rank')[0]
xmlData = xmlElement.firstChild.nodeValue
print xmlData
但老实说,您可能希望在minidom中查看元素对象的信息:


您从哪里了解到“itemlist”(一种列表类型)支持replace()方法?
itemlist
是一个元素,而不是字符串。您只需要使用
.innerHTML
或minidom调用该属性的任何东西。@RashanGandi--itemlist不是列表。
itemlist.firstChild.data
itemlist.firstChild.nodeValue
xmldoc = minidom.parse(response)
xmlElement = xmldoc.getElementsByTagName('aws:Rank')[0]
xmlData = xmlElement.firstChild.nodeValue
print xmlData