首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Spyne返回XML文件?

如何使用Spyne返回XML文件?
EN

Stack Overflow用户
提问于 2016-06-18 09:07:08
回答 1查看 1.8K关注 0票数 0

我有烧瓶-Spyne服务器(web服务),我想返回一个XML文件(在他问完之后返回给客户端)。

我想这么做:

  • 我将把一些东西从数据库放到XML。(解决了)
  • 我已经将该XML保存在服务器(webservice)上,我想在他要求的时候将它发送给客户端。(,这是一个问题,)

有办法做吗?

这里是我的代码:

代码语言:javascript
复制
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');

非常感谢的帮助。:)

编辑:

现在,这是我的代码:(发送字符串)

代码语言:javascript
复制
@spyne.srpc(DateTime, DateTime, _returns=Iterable(Unicode))
    def oracle(A,B):
        GetXML(A,B)
        s = open("file.xml");
        return s
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-19 13:40:05

如果要将其作为文档中的常规字符串返回,则必须将_return类型设置为Unicode

如果要将其作为xml文档返回,则必须解析它(etree.parse("Databaze.xml"))并返回结果的ElementTree实例。在这种情况下,您的返回类型应该是AnyXml

另见以下例子:

dynamic.py

file.py

以字符串的形式发送文档将文档与父上下文隔离开来。它的效率更低一些(例如,<字符变成了&lt;),但在其他方面无害。

作为文档发送使您的文档成为SOAP消息的一部分。它效率更高,但可以从父文档继承名称空间前缀,这可能会对文档造成轻微的更改--也就是说,您输入的内容和返回的内容可能不是字节对字节的相等(但仍然是等效的)。

这完全取决于用例。如果有疑问,返回为字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37895243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档