无法使用Django和Python将数据附加到xml文件中

2024-06-09 21:07:01 发布

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

我试图将所有post数据附加到xml文件中,但它总是覆盖。这是我的密码:

def some(request):
    if request.method == 'POST':
        location_name = request.POST.get('lname')
        rname = request.POST.get('rname')
        seat = request.POST.get('seat')
        projector = request.POST.get('projector')
        video = request.POST.get('video')
        root = ET.Element("roomlist")
        doc = ET.SubElement(root, "locationname", name=location_name)
        doc1 = ET.SubElement(doc, "roomid", name="1234")
        ET.SubElement(doc1, "roomname", name=rname).text = rname
        ET.SubElement(doc1, "noseats", name=seat).text = seat
        ET.SubElement(doc1, "projectorscreen", name=projector).text = projector
        ET.SubElement(doc1, "videoconf", name=video).text = video
        tree = ET.ElementTree(root)
        tree.write("filename.xml")
    return render(request, 'booking/bmr.html', {})

在这里,我需要当用户提交表单时,所有数据都会附加到现有的XML文件中,但在我的例子中,每次都会被覆盖。你知道吗


Tags: 数据textnamegetrequestvideodoc1root
1条回答
网友
1楼 · 发布于 2024-06-09 21:07:01

您需要创建数据并附加到文件:

root = tree.getroot()    
xmlstr = ET.tostring(root, 'utf-8', method='xml')
with open("filename.xml", "a") as myfile:
    myfile.write(xmlstr)

所以我要做的是创建树(您的代码)并转换为字符串(tostring()),然后将这个字符串附加到一个文件:)

相关问题 更多 >