我需要通过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对象。