我目前正在做一些 XML 解析,我选择使用 Hpricot 是因为它易于使用和语法,但是我遇到了一些问题。我需要将我发现的一段 XML 数据写入另一个文件。但是,当我这样做时,格式不会被保留。例如,如果内容应如下所示:
<dict>
<key>item1</key><value>12345</value>
<key>item2</key><value>67890</value>
<key>item3</key><value>23456</value>
</dict>
并假设文档中有很多这样的条目。我正在通过使用迭代“dict”项目
hpricot_element = Hpricot(xml_document_body)
f = File.new('some_new_file.xml')
(hpricot_element/:dict).each { |dict| f.write( dict.to_original_html ) }
使用上面的代码后,我希望输出如下所示,与上面显示的 XML 完全相同。然而令我惊讶的是,文件的输出看起来更像这样:
<dict>\n", " <key>item1</key><value>12345</value>\n", " <key>item2</key><value>67890</value>\n", " <key>item3</key><value>23456</value\n", " </dict>
我尝试在“\n”字符处拆分并一次写入文件一行,但这似乎也不起作用,因为它无法识别“\n”字符。任何帮助是极大的赞赏。这可能是一个非常简单的解决方案,但我很难找到它。谢谢!