我有一个这样的字符串:
my_xml = '''
<?xml version="1.0" encoding="utf-8" ?> \n
<entries> \n
<entry>1</entry> \n
<entry>2</entry> \n
</entries>
'''
return HttpResponse(my_xml)
这是我的输出,它是在没有换行和没有xml标签的情况下打印的:
1 2
我们如何在Python中添加换行符并制作浏览器解释器xml标签并打印出来?
答案 0 :(得分:8)
您正在浏览器中查看输出; HTML浏览器将换行符视为空格,将连续的空白字符折叠成一个空格。
您的浏览器将响应解释为HTML格式的数据,而是使用<br/>
标记:
s = """ this is line 1<br/>
this is line 2<br/>
and other lines ..."""
如果您希望只查看换行符,请查看响应源代码;新线就在那里。
如果您想在浏览器中查看XML输出,则应设置内容类型标题(text/xml
),以便浏览器知道您正在发送XML而不是HTML:
return HttpResponse(s, content_type='text/xml') # Assumes you are using Django
您的浏览器将使用默认样式表来显示XML数据(通常是具有可折叠部分的树)。您可以使用XML样式表(XSLT)来覆盖该行为。添加样式表标题:
<?xml-stylesheet type="text/xsl" href="script.xsl" ?>
浏览器将获取指定的样式表并将其应用于您的XML。