我有一个Flask Spyne服务器(web服务),我想返回一个XML文件。在
我想这样做:
有办法吗?在
这是我的代码:
class Service(spyne.Service):
__service_url_path__ = '/soap';
__in_protocol__ = Soap11(validator='lxml');
__out_protocol__ = Soap11();
@spyne.srpc(DateTime, DateTime, _returns="What to put here?")
def Function(A,B):
GetXML(A,B)
s = open("file.xml");
return s;
if __name__ == '__main__':
app.run(host = '127.0.0.1');
非常感谢您的帮助。。:)
编辑:
现在这是我的代码:(发送字符串)
^{pr2}$
如果要将其作为文档中的常规字符串返回,则必须将返回类型设置为
Unicode
。在如果要将其作为xml文档返回,则必须解析它(
etree.parse("Databaze.xml")
)并返回生成的ElementTree实例。本例中的返回类型应该是AnyXml
。在另请参见以下示例:
https://github.com/plq/spyne/blob/1f214d102913848cf9d18985d2d75ae1a97375de/examples/response_as_file_dynamic.py
https://github.com/plq/spyne/blob/1f214d102913848cf9d18985d2d75ae1a97375de/examples/response_as_xml_file.py
以字符串形式发送将文档与父上下文隔离。它有点效率低下(例如}),但在其他方面是无害的。在
<
字符变成{作为文档发送使您的文档成为SOAP消息的一部分。它的效率更高,但它会从父文档继承命名空间前缀,这可能会对文档造成轻微的更改,也就是说,您输入的内容和返回的内容可能不完全相同(但仍然是等效的)。在
这完全取决于用例。如果有疑问,以字符串形式返回。在
相关问题 更多 >
编程相关推荐