入力の選択

入力の選択 – 異なるタイプの入力データに関する解説

XML_Parser に対する入力の選択

XML_Parser がパースできる入力には、幾つかの種類があります。

  • ファイルシステム、その他ストリームでアクセス可能なもの

  • 文字列

  • リソース

setInputFile(), setInputString() もしくは setInput() メソッドを使って入力を指定し、 parse() をコールすれば、 XML の処理を開始することができます。

ファイルのパース

ファイル、もしくは URL のパースをするには、その名前や URI を XML_Parser::setInputFile() を使って指定します。 ファイルシステムにあるファイルだけでなく、fopen() 関数で開くことのできるロケーションも指定できます。 また、この機能と、 ストリーム関数や、PEAR の ストリームパッケージと組み合わせると、 共有メモリやデータベースその他から得られる文書のパースが可能です。

HTTP や FTP ロケーションを標準入力として開くには、 PHP の組み込み ラッパーを使用することもできます。

文字列のパース

XML 文字列をパースするには、その文字列を XML_Parser::setInputString() メソッドを使って XML_Parser(もしくはそのサブクラス)に渡します。しかし、SAX ベースのパーサの 大きな利点として、XML 文書全体を処理にあたって読み込む必要がないことがあります。 ですから、非常に大きい文書をパースする場合は、 setInputString() を使用せずに、setInput() もしくは setInputFile() を使うべきです。

リソースのパース

第3に、あまり使われないようですが、XML_Parser の入力として fopen() が返すファイルポインタなどの PHP リソースを 指定することができます。これは、XML 文書が on-the-fly で生成され、 すでにオープン済みである場合などに有用です。わざわざファイルをクローズし ファイル名を XML_Parser に渡す代わりに、 XML_Parser::setInput() を使ってリソースを渡すことができます。 fseek() を使って、ファイルポインタが正しい位置にあるかどうかを 確認するようにしてください。

パースモードについての解説 (Previous) XML_Query2XML (Next)
Last updated: Fri, 24 Oct 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.