您可以使用此代码示例:
from xml.etree import cElementTree as ET
xml = ET.fromstring(xmlData)
for child in xml.iter('field'):
print child.tag, child.attrib, child.text
迭代所有名为field的XML元素,并将其标记,属性和文本值打印到控制台.
Django视图
为了将解析的XML数据呈现为Django应用程序中的视图,您需要view和template.
假设您的项目中安装了名为app的Django应用程序.
应用程序/ views.py
from xml.etree import cElementTree as ET
from django.http import HttpResponse
from django.shortcuts import render
from django.template import Context, loader
def xml_view(request):
xmlData = """<?xml version="1.0" encoding="utf-8"?>
foo
1
20
bar
2
10
"""
xml = ET.fromstring(xmlData)
fields = []
for obj in xml.iter("object"):
fields.append({'name': obj.find("field[@name='name']").text,
'mission_id': obj.find("field[@name='mission_id']").text,
'parent_task_id': obj.find("field[@name='parent_task_id']").text,
})
t = loader.get_template('your_app/xml_view.html')
c = Context({'elem_list': fields})
return HttpResponse(t.render(c))
应用程序/模板/应用/ xml_view.html
Name | Mission ID | Parent Task ID |
---|
{% for elem in elem_list %}
{{ elem.name }}{{ elem.mission_id }}{{ elem.parent_task_id }}{% endfor %}