使用Nokogiri(在Padrino中)打印XML并具有良好的缩进

时间:2013-10-21 14:08:38

标签: ruby xml nokogiri padrino

我想打印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)打印它。

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

你可以帮我解决这个问题吗?我试图找到一些答案,但我没有找到任何答案。

1 个答案:

答案 0 :(得分:0)

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

= preserve do
  &= escaped_source

一切都会正确缩进。