Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > rexml/documentライブラリ > REXML::Documentクラス > write

instance method REXML::Document#write

write(output = $stdout, indent = -1, transitive = false, ie_hack = false, encoding=nil) -> ()[permalink][rdoc]
write(output: $stdout, indent: -1, transitive: false, ie_hack: false, encoding: nil) -> ()

output に XML 文書を出力します。

XML宣言、DTD、処理命令を(もしあるならば)含む文書を出力します。

注意すべき点として、 元の XML 文書が XML宣言を含んでいなくとも 出力される XML はデフォルトの XML 宣言を含んでいるべきであるが、 REXML は明示しない限り(つまりXML宣言を REXML::Document#add で 追加しない限り) それをしない、ということである。XML-RPCのような利用法では ネットワークバンドを少しでも節約する必要があるためである。

2.0.0以降ではキーワード引数による引数指定が可能です。

[PARAM] output:
出力先(IO のように << で書き込めるオブジェクト)
[PARAM] indent:
インデントのスペースの数(-1 だとインデントしない)
[PARAM] transitive:
XMLではインデントのスペースでDOMが変化してしまう場合がある。 これに真を渡すと、XMLのDOMに余計な要素が加わらないように 空白の出力を適当に抑制するようになる
[PARAM] ie_hack:
IEはバージョンによってはXMLをちゃんと解釈できないので、 それに対応したXMLを出力するかどうかを真偽値で指定する