【发布时间】:2016-02-17 23:24:17
【问题描述】:
我正在使用 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 库快速简便的方法?
【问题讨论】:
标签: python xml elementtree