【发布时间】:2017-06-16 04:36:39
【问题描述】:
我无法使用 Django 和 Python 获取并显示该值。我的代码如下:
def viewbook(request):
doc = minidom.parse("roomlist.xml")
staffs = doc.getElementsByTagName("location")
root = []
for staff in staffs:
lname=staff.getAttribute("name");
roomname=staff.getElementsByTagName("roomname")[0]
seat=staff.getElementsByTagName("noseats")[0]
project=staff.getElementsByTagName("projectorscreen")[0]
video=staff.getElementsByTagName("videoconf")[0]
root.append({'lname':lname,'roomname':roomname,'seat':seat,'project':project,'video':video})
return render(request,'booking/viewbook.html',{'people': root})
我在这里从.xml 工作表中获取数据,工作表如下所示。
<?xml version="1.0" ?><roomlist>
<location name="Bangalore">
<room id="1uy92j908u092">
<roomname> Aquarius </roomname>
<noseats> 10 </noseats>
<projectorscreen>yes</projectorscreen>
<videoconf>yes</videoconf>
</room>
</location>
<location name="Bhubaneswar"><room id="131198912460"><roomname>cottage</roomname><noseats>5</noseats><projectorscreen>Yes</projectorscreen><videoconf>Yes</videoconf></room></location></roomlist>
这里我试图以表格格式显示值,代码如下。
<tr>
<th>Location Name</th>
<th>Room Name</th>
<th>seats</th>
<th>Projector screen</th>
<th>Video Conference</th>
</tr>
{% for person in people %}
<tr>
<td>{{person.lname}}</td>
<td>{{person.roomname}}</td>
<td>{{person.seat}}</td>
<td>{{person.project}}</td>
<td>{{person.video}}</td>
</tr>
但在我的情况下,我得到了以下类型的输出。
Location Name Room Name seats Projector screen Video Conference
Bangalore <DOM Element: roomname at 0x7fcc35275440> <DOM Element: noseats at 0x7fcc35275560> <DOM Element: projectorscreen at 0x7fcc35275290> <DOM Element: videoconf at 0x7fcc352757a0>
Bhubaneswar <DOM Element: roomname at 0x7fcc35262cf8> <DOM Element: noseats at 0x7fcc374fb6c8> <DOM Element: projectorscreen at 0x7fcc36579128> <DOM Element: videoconf at 0x7fcc352756c8>
这里我需要从 XML 表单中获取所有正确的值。
【问题讨论】:
-
你的退货单在哪里?
-
查看 minidom 的 API 文档,了解如何提取
'name'等属性值和节点中的值。 -
可以修改吗?
-
@Arun : 请查看更新后的帖子。