0

我有一个这样的字符串:

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 标签并打印它们?

4

1 回答 1

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。

于 2013-06-05T12:40:19.017 回答