Python 2.7 如何使用lxml向xml标记添加特殊字符?

Python 2.7 如何使用lxml向xml标记添加特殊字符?,python-2.7,lxml,Python 2.7,Lxml,我正在尝试使用lxml创建xml文件,如下所示 from lxml import etree var = "xyz" root = etree.Element("Demo_root") a = etree.SubElement(root, "Demo2='"+var+"'") 将错误获取为 无效的标记名 在代码的第4行,我不能给出任何特殊字符。那我该怎么办呢 我的文件应该是 <x Name="dem1"> <y Name="dem2" Value="1"/>

我正在尝试使用lxml创建xml文件,如下所示

from lxml import etree
var = "xyz"
root = etree.Element("Demo_root")
a = etree.SubElement(root, "Demo2='"+var+"'") 
将错误获取为

无效的标记名

在代码的第4行,我不能给出任何特殊字符。那我该怎么办呢

我的文件应该是

<x Name="dem1">
  <y Name="dem2" Value="1"/>
  <y Name="dem3" Value="2"/>        
</x>

看起来您要做的是创建属性,而不是子元素。(由于XML中的元素/属性名称与代码中的名称不匹配,所以仍然很难说。)

要创建属性,可以使用

在示例中创建XML的示例

从lxml导入etree
var=“dem1”#不需要变量,但我还是包含了它,因为您的原始代码包含了它。
root=etree.Element(“x”)
root.set(“Name”,var)
对于范围(1,3)内的x:
elem=etree.Element(“y”)
元素集(“名称”,“dem{}”.format(x+1))
元素集(“值”,str(x))
root.append(elem)
etree.dump(根目录)
输出



还有其他方法可以做吗?有什么方法可以做什么?请阅读您是否尝试添加属性而不是创建元素?请添加一个XML应该是什么样子的示例。@DanielHaley我已经编辑了我的问题,现在您可以清楚地了解它的外观了。