如何替换 Zeep 的默认布尔序列化程序?

How can I replace Zeep's default boolean serializer?

当我序列化一个布尔值 Zeep returns "true"/"false"(根据 xsd.types.Boolean class)。

我想将其更改为 return "1"/"0" 因为我正在使用的 API 只接受这些值。

如何替换默认的布尔序列化程序?

我最终用猴子修补了 xmlvalue 函数。

class MyBoolean(Boolean):
    @check_no_collection
    def xmlvalue(self, value):
        return "1" if value and value not in ("false", "0") else "0"

Boolean.xmlvalue = MyBoolean.xmlvalue