Meteorのサンプル(XMLの場合)

test_xml.rb(UTF-8)

#!bin ruby
# -* coding: UTF-8 -*-
require 'rubygems'
require 'meteor' 

pf = Meteor::ParserFactory.new
pf.parser(Meteor::Parser.XML,'test.xml', 'UTF-8')
ps = pf.parser('test')

##時間計測:ここから
elm1 = ps.element("test","manbo","manbo")
#elm1.attr("id2","cc")
elm1['id2'] = 'cc'
elm_ = ps.element(elm1)
elm5_=elm_.child("tech")
10.times { |i|
  #elm_.attr("manbo",i.to_s)
  elm_['manbo'] = i.to_s
  elm5 = elm5_.clone
  #elm5.attr("eco","ema")
  elm5['eco']='ema'
  elm5.content = i.to_s
  elm_.flush
}
ps.flush
##時間計測:ここまで
puts ps.document

test.xml(UTF-8)

<?xml version="1.0" encoding="UTF-8"?>
<root>

<test manbo="manbo">
    <tech mono="mono">こまねち</tech>
</test>

</root>

結果

<?xml version="1.0" encoding="UTF-8"?>
<root>

<test manbo="0" id2="cc">
    <tech mono="mono" eco="ema">0</tech>
</test><test manbo="1" id2="cc">
    <tech mono="mono" eco="ema">1</tech>
</test><test manbo="2" id2="cc">
    <tech mono="mono" eco="ema">2</tech>
</test><test manbo="3" id2="cc">
    <tech mono="mono" eco="ema">3</tech>
</test><test manbo="4" id2="cc">
    <tech mono="mono" eco="ema">4</tech>
</test><test manbo="5" id2="cc">
    <tech mono="mono" eco="ema">5</tech>
</test><test manbo="6" id2="cc">
    <tech mono="mono" eco="ema">6</tech>
</test><test manbo="7" id2="cc">
    <tech mono="mono" eco="ema">7</tech>
</test><test manbo="8" id2="cc">
    <tech mono="mono" eco="ema">8</tech>
</test><test manbo="9" id2="cc">
    <tech mono="mono" eco="ema">9</tech>
</test>

</root>

自分の環境(Core2Duo2.4GHz、MacOSX10.5.7)でtest_xml.rbの11行目以降30行めまでが2〜3ミリ秒、1.9.1の場合。