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

Drw*_*ite 0 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)
Run Code Online (Sandbox Code Playgroud)

这是我的输出它没有新行和没有xml标签打印:

1 2 
Run Code Online (Sandbox Code Playgroud)

我们如何在Python中添加换行符并生成浏览器解释器xml标签并打印它们?

Mar*_*ers 8

您正在浏览器中查看输出; HTML浏览器将换行符视为空格,将连续的空白字符折叠成一个空格.

您的浏览器将响应解释为HTML格式的数据,<br/>而是使用标记:

s = """ this is line 1<br/>
    this is line 2<br/>
    and other lines ..."""
Run Code Online (Sandbox Code Playgroud)

如果您希望只看到换行符,请查看响应代码; 换行就在那里.

如果要在浏览器中查看XML输出,则应设置内容类型标题(text/xml),以便浏览器知道您正在发送XML而不是HTML:

return HttpResponse(s, content_type='text/xml')  # Assumes you are using Django
Run Code Online (Sandbox Code Playgroud)

您的浏览器将使用默认样式表来显示XML数据(通常是具有可折叠部分的树).您可以使用XML样式表(XSLT)来覆盖该行为.添加样式表标题:

<?xml-stylesheet type="text/xsl" href="script.xsl" ?>
Run Code Online (Sandbox Code Playgroud)

浏览器将获取命名的样式表并将其应用于XML.

  • @kirelagin:XHTML的习惯很难.对于直接HTML都可以. (2认同)