Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > rexml/parsers/pullparserライブラリ > REXML::Parsers::PullParserクラス

class REXML::Parsers::PullParser

クラスの継承リスト: REXML::Parsers::PullParser < REXML::XMLTokens < Object < Kernel < BasicObject
extend: Forwardable

要約

プル方式の XML パーサクラス。

目次

特異メソッド
new
インスタンスメソッド
each empty? has_next? peek pull unshift

特異メソッド

new(stream) -> REXML::Parsers::PullParser[permalink][rdoc]

新たな PullParser オブジェクトを生成して返します。

[PARAM] source:
入力(文字列、IO、IO互換オブジェクト(StringIOなど))

インスタンスメソッド

each {|event| ... } -> ()[permalink][rdoc]

XMLをパースし、得られたイベント列を引数として順にブロックを呼び出します。

[EXCEPTION] REXML::ParseException:
XML文書のパースに失敗した場合に発生します
[EXCEPTION] REXML::UndefinedNamespaceException:
XML文書のパース中に、定義されていない名前空間 が現れた場合に発生します
empty? -> bool[permalink][rdoc]

未処理のイベントが残っていない場合に真を返します。

[SEE_ALSO] REXML::Parsers::PullParser#has_next?

has_next? -> bool[permalink][rdoc]

未処理のイベントが残っている場合に真を返します。

[SEE_ALSO] REXML::Parsers::PullParser#empty?

peek(depth = 0) -> REXML::Parsers::PullEvent | nil[permalink][rdoc]

イベントキューの先頭から depth 番目のイベントを取り出します。

一番先頭のイベントは 0 で表します。

このメソッドでは列そのものの状態は変化しません。

先頭から depth 番目のイベントが存在しない(XML文書の末尾の さらに先を見ようとした場合)は nil を返します。

[PARAM] depth:
先頭から depth 番目のイベントを取り出します
[EXCEPTION] REXML::ParseException:
XML文書のパースに失敗した場合に発生します
[EXCEPTION] REXML::UndefinedNamespaceException:
XML文書のパース中に、定義されていない名前空間 が現れた場合に発生します
pull -> REXML::Parsers::PullEvent[permalink][rdoc]

イベントキューの先頭のイベントを取り出し、キューからそれを取り除きます。

[EXCEPTION] REXML::ParseException:
XML文書のパースに失敗した場合に発生します
[EXCEPTION] REXML::UndefinedNamespaceException:
XML文書のパース中に、定義されていない名前空間 が現れた場合に発生します
unshift(token) -> ()[permalink][rdoc]

イベントキューの先頭に token を追加します。

[PARAM] token:
先頭に追加するイベント(REXML::Parsers::PullEvent オブジェクト)