如何用elementweb解析xml

2024-10-01 22:35:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用收缩网页服务的网站缩略图。它们有一个API,它返回XML,告诉您是否可以创建站点缩略图。我尝试使用ElementTree解析xml,但不确定如何获取所需的信息。以下是XML响应的示例:

<?xml version="1.0" encoding="UTF-8"?> 
<stw:ThumbnailResponse xmlns:stw="http://www.shrinktheweb.com/doc/stwresponse.xsd">
    <stw:Response>
        <stw:ThumbnailResult>
            <stw:Thumbnail Exists="false"></stw:Thumbnail>
            <stw:Thumbnail Verified="false">fix_and_retry</stw:Thumbnail>
        </stw:ThumbnailResult>
        <stw:ResponseStatus>
            <stw:StatusCode>Blank Detected</stw:StatusCode>
        </stw:ResponseStatus>
        <stw:ResponseTimestamp>
            <stw:StatusCode></stw:StatusCode>
        </stw:ResponseTimestamp>
        <stw:ResponseCode>
            <stw:StatusCode></stw:StatusCode>
        </stw:ResponseCode>
        <stw:CategoryCode>
            <stw:StatusCode>none</stw:StatusCode>
        </stw:CategoryCode>
        <stw:Quota_Remaining>
            <stw:StatusCode>1</stw:StatusCode>
        </stw:Quota_Remaining>
    </stw:Response>
</stw:ThumbnailResponse>

我需要得到“stw:状态代码". 如果我想在stw:状态代码我得到一个“预期的路径分隔符”语法错误。有没有办法只得到状态码?在


Tags: falseresponse状态xmlthumbnail缩略图statuscodestw
1条回答
网友
1楼 · 发布于 2024-10-01 22:35:29

Grrr命名空间….请尝试以下操作:

STW_PREFIX = "{http://www.shrinktheweb.com/doc/stwresponse.xsd}"

(请参见示例XML的第2行)

然后,当您想要一个类似stw:StatusCode的标记时,请使用STW_PREFIX + "StatusCode"

更新:XML响应不是最出色的设计。无法从您的单个示例中猜测是否有多个2级节点。请注意,每个第三级节点都有一个“StatusCode”子节点。下面是一些粗略而现成的代码,它向您展示(1)为什么需要STW_前缀caper(2)一个可用信息的摘录。在

^{pr2}$

结果:

'{http://www.shrinktheweb.com/doc/stwresponse.xsd}ThumbnailResponse'
'ThumbnailResult' ''
... 'Thumbnail' None {'Exists': 'false'}
... 'Thumbnail' 'fix_and_retry' {'Verified': 'false'}
'ResponseStatus' ''
... 'StatusCode' 'Blank Detected' {}
'ResponseTimestamp' ''
... 'StatusCode' None {}
'ResponseCode' ''
... 'StatusCode' None {}
'CategoryCode' ''
... 'StatusCode' 'none' {}
'Quota_Remaining' ''
... 'StatusCode' '1' {}

相关问题 更多 >

    热门问题