!/usr/bin/env python
import common
xmlFile=open("/home/liaoxiaoli/interface/requestBody/CreateContainer.xml")
d=common.xml_to_dict(xmlFile)
b=d["properties"]
testFile=file('test.py','w')
for key in b:
print repr('%s : %s,'%(key,b[key]))
testFile.write('%s : %s'%(key,b[key]))
testFile.write(',')
testFile.write('\n')
xmlFile.close()
testFile.close()
输出的结果为:
u'method : put,'
u'host : None,'
u'bucketName : None,'
u'secret : None,'
u"parameter : OrderedDict([(u'CodeId', None)]),"
u"head : OrderedDict([(u'Authorization', None), (u'x-amz-acl', None)]),"
u"body : OrderedDict([(u'ContainerConfiguration', OrderedDict([(u'LocationInformation', None)]))]),"
我预期的结果是:
u'method : put,'
u'host : None,'
u'bucketName : None,'
u'secret : None,'
u"parameter : {u'CodeId': None},"
u"head : {u'Authorization': None, u'x-amz-acl': None},
u"body : {ContainerConfiguration', {LocationInformation', None}},
希望高手给些指点,我是哪里弄错了
建议先调试查看b的值,根据结果来看,应该是在转换时有出现误差。
在你把xml file转换为一个字典的时候,OrderedDict([(u'CodeId', None)])并没有转换为一个字典。所以你该检查common.xml_to_dict(xmlFile)转换方法有没有问题。必要时可以用pdb.set_trace()单步调试看看。