1

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)

それで、文字列を使用する必要があることを収集しましたが、文字列は機能しないようです。libxml-ruby の動作例を Google 以外で見つけることができないようで、途方に暮れています。XML ドキュメントの作成に libxml-ruby がどのように使用されているかを確認できるオンライン例へのリンクや、ヘルプをいただければ幸いです。

libxml-ruby 1.1.3 ruby​​gems 1.3.1 ruby​​ 1.8.7

4

2 に答える 2

4

問題はエンコーディングにあるようです。"utf-8" の代わりにXML::Encoding::UTF_8を試してください。

于 2009-04-01T14:59:49.157 に答える
0
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)
于 2010-01-18T17:04:43.593 に答える