Python:将列表写入xmlfi

2024-03-28 19:14:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将列表元素写入xml文件。我已经写了下面的代码。xml文件已创建,但数据会重复。我不明白为什么数据在xml文件中写了两次。在

users_list = ['Group1User1', 'Group1User2', 'Group2User1', 'Group2User2']
def create_xml(self):
    usrconfig = Element("usrconfig")
    usrconfig = ET.SubElement(usrconfig,"usrconfig")
    for user in range(len( users_list)):
        usr = ET.SubElement(usrconfig,"usr")
        usr.text = str(users_list[user])
    usrconfig.extend(usrconfig)
    tree = ET.ElementTree(usrconfig)
    tree.write("details.xml",encoding='utf-8', xml_declaration=True)

输出文件:详细信息.xml在

-

^{pr2}$

enter image description here


Tags: 文件数据代码tree元素列表usrxml
2条回答

对于这样一个简单的xml结构,我们可以直接写出文件。但是,如果没有跟上pythonxml模块的速度,这种技术也可能很有用。在

import os

users_list = ["Group1User1", "Group1User2", "Group2User1", "Group2User2"]
os.chdir("C:\\Users\\Mike\\Desktop")
xml_out_DD = open("test.xml", 'wb')
xml_out_DD.write(bytes('<usrconfig>', 'utf-8'))
for i in range(0, len(users_list)):
    xml_out_DD.write(bytes('<usr>'  + users_list[i] + '</usr>', 'utf-8'))
xml_out_DD.write(bytes('</usrconfig>', 'utf-8'))
xml_out_DD.close()
usrconfig.extend(usrconfig)

我觉得这条线很可疑。如果userconfig是一个列表,那么这一行就相当于“复制这个列表中的每个元素”。我怀疑元素也会发生类似的情况。试着删除那一行。在

^{pr2}$

结果:

<?xml version='1.0' encoding='utf-8'?>
<usrconfig>
<usr>Group1User1</usr>
<usr>Group1User2</usr>
<usr>Group2User1</usr>
<usr>Group2User2</usr>
</usrconfig>

相关问题 更多 >