我正在使用Python的xml.etree.ElementTree构建XML文档,并且无法有条件地将属性插入节点。这是我的代码示例:
Attr1="stamps"
Attr2="ghouls"
Attr3=""
node = ET.SubElement(root_node, "ChildNode1",
Attr1=Attr1,
Attr2=Attr2,
Attr3=Attr3)
非常简单,输出完全符合预期。但是,如果值是None,我见过的许多XML文档都会完全排除该属性。我该怎么做呢?就像是:
Attr1="stamps"
Attr2="ghouls"
Attr3=""
node = ET.SubElement(root_node, "ChildNode1",
Attr1=Attr1,
Attr2=Attr2,
(Attr3=Attr3 if Attr != "" else pass))
但是该库不支持此语法。我知道我可以执行if语句,然后将整个节点的代码复制到减去条件值的位置,但是我不想重复多次代码。是否有使用ElementTree库执行此操作的快速简便的方法?
创建字典是操作关键字参数的一种简便方法。
attrs = {}
attrs["Attr1"] = "stamps"
attrs["Attr2"] = "ghouls"
if Attr != "":
attrs["Attr3"] = Attr
node = ET.SubElement(root_node, "ChildNode1", **attrs)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句