我有一本名为job_highlight_dict的字典,它包含{job_id, JobHighlight}
job_id是number,JobHighlight是一种类型,定义如下:
class JobHighlight:
def __init__(self, display_salary, location, category):
self.display_salary = display_salary
self.location = location
self.category = category我想将job_highlight_dict转换为xml并将其写入磁盘,这是我尝试过的:
xml = dicttoxml.dicttoxml(self.job_highlight_dict)
file = open("export/path_%(time)s.xml", "wb")
file.write(xml)
file.close()但我得到了以下错误:
TypeError:不支持的数据类型:< 0x000002D00FA48E88> (JobHighlight)
上的JobHighlight对象
发布于 2020-07-11 05:12:01
将job_highlight_dict["JobHighlight"]从JobHighlight类型转换为字典。
码
job_highlight_dict["JobHighlight"] = {
"display_salary": job_highlight_dict["JobHighlight"].display_salary,
"location": job_highlight_dict["JobHighlight"].location,
"category": job_highlight_dict["JobHighlight"].category
}
xml = dicttoxml.dicttoxml(job_highlight_dict)
file = open("paths.xml", "wb")
file.write(xml)
file.close()或者更简单地说:
job_highlight_dict["JobHighlight"] = vars(job_highlight_dict["JobHighlight"])
xml = dicttoxml.dicttoxml(job_highlight_dict)
file = open("paths.xml", "wb")
file.write(xml)
file.close()请参阅:Python dictionary from an object's fields
输出示例
我对此进行了格式化,但在文件中,xml将全部显示在一行上。如果您想要格式化,您将不得不使用漂亮的打印或类似的东西。请参阅:https://pypi.org/project/dicttoxml/
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<job_id type="int">2</job_id>
<JobHighlight type="dict">
<display_salary type="str">$80k</display_salary>
<location type="str">Los Angeles</location>
<category type="str">Other</category>
</JobHighlight>
</root>https://stackoverflow.com/questions/62845343
复制相似问题