如何解决如何在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 举报,一经查实,本站将立刻删除。