如何在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