我正在尝试将xml模板呈现给视图中的字符串,以便向Web服务发出soap请求。当我loader.render_to_string('app/services/soap/item_update.xml', context, None)
时,我得到的字符串有断行(\ n),我按下了回车键。以下是一个例子。
Ex XML Code:
<name>Das</name>
<city>Col</city>
对应字符串:
'<name>Das</name>\n <city>Col</city>'
呈现的响应类型为<class 'django.utils.safestring.SafeText'>
有没有办法在没有换行符的情况下渲染字符串,因为用它发出Soap请求会发送400响应?
答案 0 :(得分:1)
要回答您的问题,您只需更换换行符即可。
xml_as_string = loader.render_to_string('app/services/soap/item_update.xml', context, None)
xml_as_string = xml_as_string.replace("\n", "")
注意这也会删除代码中的换行符。
标签外的换行符和空格确实不应该导致问题。 此外,XML应该只有一个除编码标记之外的根节点。见2.1 of the spec,相关部分是......
只有一个元素,称为根或文档元素,其中任何部分都不会出现在任何其他元素的内容中。