0

我想在 HTML 页面上打印出 XML 文件。我正在使用 Nokogiri:

Nokogiri::XML::DocumentFragment.parse("<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>").to_xml(:indent => 2)

但在我的 HTML 页面上,我得到了:

<note>
                    <to>Tove</to>
                    <from>Jani</from>
                    <heading>Reminder</heading>
                    <body>Don't forget me this weekend!</body>
                  </note>

代替

    <note>
      <to>Tove</to>
      <from>Jani</from>
      <heading>Reminder</heading>
      <body>Don't forget me this weekend!</body>
    </note>

我用 padrino 转义函数(html_escape)打印它。

似乎该功能会产生该问题,因为在控制台中所有内容都已正确打印。

你能帮我解决这个问题吗?我试图找到一些答案,但我什么也没找到。

4

1 回答 1

0

我找到了答案。这是 HAML 问题,所以下次你想用 html_escape 打印出 XML 或其他源代码之前,添加

= preserve do
  &= escaped_source

一切都会正确缩进。

于 2013-10-22T07:15:40.120 回答