我需要在 python 中通过 XML-RPC 发送一个对象。我的对象由复合数据类型组成,用于填充树结构:
class Node(object):
'''Composite data type '''
def __init__(self, pData, pParent=None):
self.mData = pData
self.mParent = pParent
self.mChildren = []
self.mParent
是对其父节点的引用。所以我有一个递归数据结构来创建这个结构。当我尝试通过 XML-RPC 直接发送此数据类型时,会出现以下错误:
xmlrpclib.Fault: <Fault 1: "<type 'exceptions.TypeError'>:cannot marshal recursive dictionaries">
我认为这个例外是由于其复杂的结构而引起的。因为 xml-rpc 只支持基本数据类型。我不能使用字典,因为我需要在我的客户端同行中有引用。当我使用带有引用的字典时,它会给出与上述相同的错误。我不能使用泡菜,它需要与语言无关。
您对通过 XML-RPC 本地发送对象有什么建议吗?也许如何创建我自己的数据类型以 xml 格式发送?