无法使用Django和Python将数据附加到xml文件中
我试图将所有post数据附加到xml文件中,但它总是覆盖。这是我的密码:无法使用Django和Python将数据附加到xml文件中,python,xml,django,Python,Xml,Django,我试图将所有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.P
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文件中,但在我的情况下,每次都会被覆盖。您需要创建数据并附加到文件中:
root = tree.getroot()
xmlstr = ET.tostring(root, 'utf-8', method='xml')
with open("filename.xml", "a") as myfile:
myfile.write(xmlstr)
所以我要做的是创建树(您的代码)并转换为字符串(
tostring()
)然后将这个字符串附加到一个文件:)我按照你的要求做了,但是它在/some/global name'ElementTree'中抛出这个namererror没有定义error。我使用这个import xml.etree.celementree作为ET
one,所以使用ET.fromstring
而不是ElementTree.tostring
,但是它抛出了这个TypeError at/some/XML()得到一个意外的关键字参数“encoding”
错误。我已使用cElementTree编辑了我的答案,以满足您的需要