微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在xmlns命名空间Web服务中访问请求响应?

如何解决如何在xmlns命名空间Web服务中访问请求响应?

一个Web服务返回这样的内容,我想在此响应中访问 id 。我该怎么办?

const_iterator Nuage<T>::begin() const{

另外,我的功能在这里

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"id":"1819","responseCode":"0","responseMessage":"0"}</string>
  • 我尝试使用 response.json()访问JSON中的响应,但出现以下错误
import requests
def sen_request():
    url = "somewhere.com/somewhere.asmx/new_one"
    payload = {}
    headers= {}
    response = requests.request("GET",url,headers=headers,data = payload)
    return (response)

解决方法

代码使用json库和XML库解析来提取ID

import json
import xml.etree.ElementTree as ET

data = '''<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">{"id":"1819","responseCode":"0","responseMessage":"0"}</string>'''

data1 = '''<?xml version="1.0" encoding="utf-8"?><string xmlns="tempuri.org">{"id":{"id1":"1819"},"responseMessage":"0"}</string>'''

root = ET.fromstring(data)
print(json.loads(root.text)['id'])

root = ET.fromstring(data1)
print(json.loads(root.text)['id']['id1'])

输出

1819
1819

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。