python zeep:发送未转义的 xml 作为内容

2023-11-26

我认为我想做的事情很像zeep 仓库中的 github 问题---但遗憾的是,目前还没有对此问题做出回应。我研究了肥皂水,安装并尝试过——甚至没有发送参数来工作,并认为 zeep 似乎维护得更好?

编辑1: 当然我不是在谈论this


您可以使用插件将 xml 编辑为纯字符串。我使用此插件将字符“”保留在 CDATA 元素中。

from xml import etree
from zeep import Plugin

class my_plugin(Plugin):

    def egress(self, envelope, http_headers, operation, binding_options):
        xml_string = etree.ElementTree.tostring(envelope)
        xml_string = xml_string.replace("&lt;", "<")
        xml_string = xml_string.replace("&gt;", ">")
        parser = etree.ElementTree.XMLParser(strip_cdata=False)
        new_envelope = etree.ElementTree.XML(xml_string, parser=parser)
        return new_envelope, http_headers

然后在客户端导入插件即可:

client = Client(wsdl='url', transport=transport, plugins=[my_plugin()])

看看文档:http://docs.python-zeep.org/en/master/plugins.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python zeep:发送未转义的 xml 作为内容 的相关文章

随机推荐