我正在尝试将包含字典作为属性的名为Origin的python类序列化为带有lxml objectify的xml。该字典用每个键的值“默认”初始化。
class Origin:
def __init__(self):
dict = {"A":"default", "B":"default" ...} // my dictionnary has 6 keys actually
首先通过解析XML来填充字典。并非每个键都被填充。例如:dict = {A:"hello", B:"default" ...}
我想以字典作为属性来创建Origin XML元素,但我不想使用“默认”键。
我的解决方案是在以下情况下嵌套:
ìf(self.dict["A"] != "default"):
if(self.dict["B"] != "default"):
...
objectify.Element("Origin", A=self.dict["A"], B=self.dict["B"]...)
但是,如果您拥有一个或两个以上的键,那么这是一个难看且不切实际的解决方案。
是否有一种方法可以创建我的Element origin = objectify.Element("Origin")
,然后添加我的字典键'(如果它与“默认”不同)?
更具动态性,例如
for key in self.dict: if(self.dict[key] != "default"): origin.addAttribute(key=self.dict[key])
谢谢
我正在尝试将包含字典作为属性的名为Origin的python类序列化为带有lxml objectify的xml。该字典用每个键的值“ default”初始化。 ...
我将字典过滤为仅包含"default"
以外的值。