33件ヒット
[1-33件を表示]
(0.021秒)
キーワード
検索結果
-
rexml
/ parsers / pullparser (6013.0) -
プル方式の XML パーサ。
...プル方式の XML パーサ。
REXML::Parsers::StreamParser はパースした結果をコールバックによって
受動的に受け取りますが、このパーサは REXML::Parsers::PullParser#pull
によってパーサから結果をイベントという形で順に能動的に取り出......ら取り除きます。
pull は REXML::Parsers::PullEvent オブジェクトを返します。
このオブジェクトの
REXML::Parsers::PullEvent#event_type で「開始タグ」「終了タグ」
といったイベントの種類を取得します。
REXML::Parsers::PullEvent#[] でそのイ......す。
===[a:event_type] イベントの種類とパラメータ
REXML::Parsers::PullEvent#event_type で得られるイベントの種類の
シンボルを列挙しています。
これらのうちのいくつかは、
REXML::Parsers::PullEvent#start_element? などのメソッドで
判定す... -
rexml
/ parsers / sax2parser (6013.0) -
SAX2 と同等の API を持つストリーム式の XML パーサ。
...ブジェクトに REXML::Parsers::SAX2Parser#listen で
設定してから REXML::Parsers::SAX2Parser#parse を呼び出すことで、
パーサからコールバックが呼び出されます。
コールバックには2種類あって、ブロックを使う方式と REXML::SAX2Listener
を inc......式があります。詳しくは
REXML::Parsers::SAX2Parser#listen を参照してください。
REXML::Parsers::StreamParser のパーサよりは高機能です。
//emlist[][ruby]{
require 'rexml/parsers/sax2parser'
require 'rexml/sax2listener'
parser = REXML::Parsers::SAX2Parser.new(<<XML)......exts = []
parser.listen(:characters, ["a"]){|c| texts << c }
parser.parse
elements # => [["root", {"n"=>"0"}], ["a", {"n"=>"1"}], ["b", {"n"=>"2"}], ["a", {"n"=>"3"}]]
as # => [["a", {"n"=>"1"}], ["a", {"n"=>"3"}]]
texts # => ["111", "333"]
//}
//emlist[仕様確認サンプル][ruby]{
require 'rex... -
rexml
/ parsers / streamparser (6013.0) -
ストリーム式の XML パーサ。
...ストリーム式の XML パーサ。
rexml の XML パーサの中では高速ですが、機能は限定的です。
もう少し高機能なストリーム式パーサが必要な場合は
REXML::Parsers::SAX2Parser を用いてください。
パーサからはコールバックによって......た情報を受け取ります。
REXML::StreamListener を include し、
必要なメソッドをオーバーライドしたクラスのオブジェクトを
コールバックオブジェクトとして REXML::Parsers::StreamParser.new
に渡します。
REXML::Parsers::StreamParser#parse を呼......び出すと
パースが開始しその結果によってコールバックが呼び出されます。
コールバックされるメソッドは REXML::StreamListener になにもしない
メソッドとして定義されています。どのようなコールバックがあるかは
そちら...