首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能提取SessionId

不能提取SessionId
EN

Stack Overflow用户
提问于 2019-07-31 12:57:04
回答 1查看 115关注 0票数 2

我正在尝试从(XML)中提取sessionId。然而,不管我尝试了什么,Python仍然告诉我sessionId是空的(当我将响应打印为文本时,它不是空的)。

我尝试过here的建议,但是在这种情况下,它似乎不起作用。也许是因为我只能得到根,但我不知道如何从元素根转到元素树。请参阅响应XML和下面的代码:

代码语言:javascript
复制
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <LoginResponse xmlns:ns10="http://caretrack.wirelesscar.net/reportrequest" xmlns:ns9="http://caretrack.wirelesscar.net/reportresponse" xmlns:ns8="http://caretrack.wirelesscar.net/matrisrequest"           xmlns:ns7="http://caretrack.wirelesscar.net/matrisresponse" xmlns:ns6="http://caretrack.wirelesscar.net/servicerequest" xmlns:ns5="http://caretrack.wirelesscar.net/serviceresponse"            xmlns:ns4="http://caretrack.wirelesscar.net/machinerequest" xmlns:ns3="http://caretrack.wirelesscar.net/machineresponse" xmlns:ns2="http://caretrack.wirelesscar.net/base"          xmlns="http://caretrack.wirelesscar.net/security">
            <ns2:session>
                <ns2:sessionId>xxxxxx</ns2:sessionId>
            </ns2:session>
        </LoginResponse>
    </soap:Body>
</soap:Envelope>




response = requests.post(url, data=body, headers=headers, auth=('xxxx@xxx.com', 'xxxxx'))

root = ET.fromstring(response.content)
sessionId = root.findall('.//{ns10:http://caretrack.wirelesscar.net/security}ns2:sessionId')

当我使用这段代码时,我不会收到任何错误消息,只是"[]“。也尝试过其他方法,但在这种情况下,我得到了“无”。

有人能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-31 15:10:31

sessionId元素绑定到http://caretrack.wirelesscar.net/base命名空间。这是可行的(注意没有使用前缀):

代码语言:javascript
复制
sessionId = root.findall('.//{http://caretrack.wirelesscar.net/base}sessionId')

由于只有一个sessionId,所以可以使用find() (返回单个元素)代替findall() (返回列表)。

另一种选择是创建带有前缀的字典,并使用搜索方法中的前缀。见https://docs.python.org/3/library/xml.etree.elementtree.html#parsing-xml-with-namespaces

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57291274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档