如何解决.set方法不在Python的xml.etree库中吗?
| 使用Python创建带有一些数据的XML文件。我正在尝试将字典中的值设置为列表中的数据。我将要写多行,所以这就是为什么我以这种方式引用每个值的原因。谢谢你们。这是我的代码:from xml.etree import ElementTree as ET
root = ET.Element(\"painter\")
root.set(\'version\',\'1.0\')
linenum = 0
pointnum = 0
smpl_data = [[[20,40],(0,1,1)],[[10,50],[[78,89],1)]]
while linenum <= len(smpl_data): #smpl_data change to self.lines
elem_line = ET.SubElement(root,\"line\" + str(linenum),attrib={\"r\": \"1\",\"g\": \"2\",\"b\": \"3\",\"a\": \"4\"})
print elem_line
print elem_line.attrib.get(\"r\")
print elem_line.attrib.set(\"r\",\"smpl_data[linenum][2]\")
# I get an attribute error: \'dict\' object has no attribute \'set\'
虽然在文档中清楚地显示了它...
http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.set
谢谢您的帮助。
解决方法
您正在呼叫
Element
的attrib
成员上的get()
和set()
。 attrib
是一个常规的旧Python字典,没有ѭ2dictionary函数。链接的文档适用于实际“ 4”对象本身上的“ 2”功能。
要在attrib
成员中设置值,请使用:
elem_line.attrib[\'r\'] = smpl_data[linenum][2]
如果要改用Element
:
elem_line.get(\'r\')
elem_line.set(\'r\',smpl_data[linenum][2])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。