如何在长多行字符串中添加换行符?

时间:2013-06-05 12:37:42

标签: python xml string

我有一个这样的字符串:

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标签并打印出来?

1 个答案:

答案 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。