Python请求模块 - 将嵌套XML作为查询参数传递

时间:2015-03-04 20:31:02

标签: python xml parameters nested python-requests

我尝试使用Python requests模块构建HTTP PUT请求。出于我迄今为止的所有目的,我已经能够使用我想要发送的XML元素数据构建字典,然后将其作为查询参数传递。我的代码如下所示:

import requests

scan_params = {
    'type': 'T2 FSE 3D MICE'
    'quality': 'usable'
}
resp = requests.put(url, params=scan_params)

这很好用。但是,当我想传递嵌套的XML元素或XML属性时,我不确定如何将这些作为参数包含在scan_params中。我想做的是:

import requests

scan_params = {
    'type': 'T2 FSE 3D MICE'
    'quality': 'usable',
    'parameters/te': 3.1
}
resp = requests.put(url, params=scan_params)

teparameters的孩子。同样,我不确定如何在此字典中指定属性。

我想避免使用一些XML库来构造格式良好的XML,因为这将是一个额外的开发步骤。

我应该做什么的任何想法?谢谢!

1 个答案:

答案 0 :(得分:1)

要将嵌套的XML元素或属性编码为查询字符串中的参数,可以使用正斜杠。

示例:

scan_params = {
    'type': 'T2 FSE 3D MICE'
    'quality': 'usable',
    'parameters/te': 3.1,
    'parameters/voxelRes/x': 1.0
}

其中teparameters的元素,而xvoxelRes的属性,parameters本身是{{1}}的元素。

我不确定如果一个元素有一个属性和一个具有相同名称的元素会发生什么,或者这是否会被认为是格式良好的XML。