上下文
我在一个django项目中工作,我需要通过一个嵌套字典来打印值
这是字典:
{body{u'@copyright': u'All data copyright Unitrans ASUCD/City of Davis 2015.', u'predictions': {u'@routeTitle': u'A', u'@dirTitleBecauseNoPredictions': u'Outbound to El Cemonte', u'@agencyTitle': u'Unitrans ASUCD/City of Davis', u'@stopTag': u'22258', u'@stopTitle': u'Silo Terminal & Haring Hall (WB)', u'@routeTag': u'A', u'message': [{u'@text': u'Weekend service is running Monday-Wednesday Dec. 28-30.', u'@priority': u'Normal'}, {u'@text': u'The A-line and Z-line do not run on weekends. Use O-line for weekend service.', u'@priority': u'Normal'}]}}}
我正在从以下url解析词典: http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=unitrans&r=A&s=22258
问题1
例如,我在使用django模板标记显示带有'@'的键的值时遇到了问题
{% for i in data%}
{% i.@copyright %}
{% endfor %}
这会产生一个错误,表示无法解析余数。你知道吗
问题2
其中一个值中有一个方括号嵌套的字典
[{u'@text': u'Weekend service is running Monday-Wednesday Dec. 28-30.', u'@priority': u'Normal'}, {u'@text': u'The A-line and Z-line do not run on weekends. Use O-line for weekend service.', u'@priority': u'Normal'}]
我不能使用for loop模板标记循环这个
我想到的解决方案
为了解决这个问题并使它更简单,我希望从xml中去掉字符'@'
、'['
和']'
,这将给我留下一个更简单的字典,可以很容易地循环使用。你知道吗
我的Python代码现在在视图.py
import xmltodict
import requests
def prediction(request, line, s_id):
url = "http://webservices.nextbus.com/service/publicXMLFeed? command=predictions&a=unitrans&r=" + line + "&s=" + s_id
data = requests.get(url)
data = xmltodict.parse(data, dict_constructor=dict)
data_dict = {}
data_dict["data"] = data
return render(request, 'routes/predictions.html', data_dict)
我想在页面上显示的内容预测.html
Route Tag: A
Message : Weekend Service is running Monday-Wednesday Dec. 28-30.
The A-Line and Z-Line do not run on weekends. use O-Line for weekend service.
Priority: Normal
如果您能就这个问题提供任何意见,我将不胜感激。谢谢你抽出时间。你知道吗
在xmltodict中,“@”符号用于指示xml节点的属性,“[”和“]”用于分隔元素值,而元素值本身就是一个值列表。(这里,它表示“message”值本身是两个message对象的列表)。你当然可以试着把dict作为原始文本读入,然后把你需要的东西刮出来,但这并不能利用大多数人导入dict的理由:组织数据并使其更容易访问。你知道吗
您可以轻松地创建一个模板,只需从dict中提取所需的特定值,而无需刮除文本。数据dict的结构应如下所示:
要获得所需的输出,请为这些数据创建一个定制的模板,然后直接插入所需的值。类似这样的:(抱歉,我不知道django模板的语法)
相关问题 更多 >
编程相关推荐