XML RPC - 通过 Python 中的 XML-RPC 发送对象(递归数据结构)



我需要通过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 格式发送?

http://www.xs4all.nl/~irmen/pyro3/

当您想通过网络传输 Python 对象时。

由于XMLRPC基于XML(顾名思义),因此如果不进行序列化,则无法通过网络传输Python对象。

最新更新