0
我需要通過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格式發送?
感謝您的回覆。正如你所說的,它在發送對象之前需要在合適的XML表示中被序列化。例如,當我發送一個字符串變量時,XML-RPC自動生成變量 。那麼我是否有可能以xml格式序列化我的對象(沒有pickle,更改xmlrpclib中的代碼)並將它發送給另一個對等體? –
zekifh
2011-05-21 17:00:56