在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)(上面块中的最后一行是第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 rubygems 1.3.1 ruby 1.8.7
发布于 2009-04-01 14:59:49
似乎问题出在编码上。尝试使用XML::Encoding::UTF_8代替"utf-8“。
发布于 2010-01-19 01:04:44
require 'rubygems'
require 'libxml'
filename = 'something.xml'
stats_doc = LibXML::XML::Document.new()
stats_doc.root = LibXML::XML::Node.new('root_node')
stats_doc.root << LibXML::XML::Node.new('elem1')
stats_doc.save(filename, :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)https://stackoverflow.com/questions/705862
复制相似问题