Ruby:无法使用 Libxml-ruby 保存文档

标签 ruby libxml-ruby

在 libxml-ruby API 文档 ( http://libxml.rubyforge.org/rdoc/index.html ) 中,在 LibXML::XML::Document 下,我尝试了以下操作:

filename = 'something.xml'
stats_doc = XML::Document.new()
stats_doc.root = XML::Node.new('root_node')
stats_doc.root << XML::Node.new('elem1')
stats_doc.save(filename, :indent => true, :encoding => 'utf-8')

...导致此错误:

parse_stats.rb:26:in `save': can't convert String into Integer (TypeError)

(上面 block 中的最后一行是第 26 行)。

我尝试将文件名更改为整数,结果如下:

parse_stats.rb:26:in `save': wrong argument type Fixnum (expected String) (TypeError)

所以我了解到我需要使用字符串,但字符串似乎不起作用。因为我似乎无法在 Google 上找到任何 libxml-ruby 的例子,所以我很茫然。非常感谢任何帮助,或链接到任何在线示例,我可以在其中看到 libxml-ruby 如何用于创建 XML 文档。

libxml-ruby 1.1.3 ruby 1.3.1 ruby 1.8.7

最佳答案

看来问题出在编码上。尝试 XML::Encoding::UTF_8而不是“utf-8”。

关于Ruby:无法使用 Libxml-ruby 保存文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/705862/

相关文章:

ruby - 使用 libxml-ruby 逐 block 处理大型 XML 文件

ruby-on-rails - Rails 应用程序启动时出现 Libxml-ruby 错误 -- 未初始化常量 LibXML::XML::Error::I18N

ruby - 如何解决 Windows 上 "libxml2 missing package"上的 "gem install ovirt-engine-sdk"错误?

ruby-on-rails - 在 Rails 中发送电子邮件后存储邮件程序类和方法

css - 选择不包括第一行的表行

ruby - 使用 File.open 从 ruby​​ 中的目录打开文件

mysql - Rails 错误 - 没有要加载的此类文件 -- mysql

ruby - 卸载工头