我正在尝试根据excel电子表格中的信息动态创建.xml文件。
基本上我要做的是创建一个xml元素,我可以使用变量作为属性的名称和属性的值
from lxml import etree
attribute = "state"
attribute_value = "NJ"
root = etree.Element()
root.append(etree.Element("Entry1", attribute = attribute_value))
然而,它只是忽略了一个事实,即属性是一个值为“state”的变量,而是命名属性“attribute”。
我对Python,特别是lxml缺乏经验。我查看了文档并在这里搜索了一些答案,但找不到类似的东西。谢谢你的帮助。
答案 0 :(得分:0)
如果要将动态参数传递给function,则应使用python参数解包:https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists
使用**
将字典解压缩到函数参数:
function_name(**arguments_dict)
这是您需要的代码
from lxml import etree
attribute_name = "state"
attribute_value = "NJ"
attributes = {attribute_name: attribute_value}
root = etree.Element('root')
root.append(etree.Element("Entry1", **attributes))
print(etree.tostring(root))