この関数は、XMLファイルを処理し、2つの配列構造体に代入します。1 つ目の配列(
index
)は、配列
values
にある適当な値の位置を指すポインタを 有しています。これら最後の二つのパラメータは参照渡しとする必要が あります。
以下の例は、この関数により生成された配列の内部構造を示すものです。
note
タグを
para
タグの中に埋 め込んで使用した後、これをパースし、生成された構造体を出力します。
$simple = " para note simple note /note /para "; $p = xml_parser_create(); xml_parse_into_struct($p,$simple,$vals,$index); xml_parser_free($p); echo "Index array\n"; print_r($index); echo "\nVals array\n"; print_r($vals); |
Index array Array ( [PARA] = Array ( [0] = 0 [1] = 2 ) [NOTE] = Array ( [0] = 1 ) ) Vals array Array ( [0] = Array ( [tag] = PARA [type] = open [level] = 1 ) [1] = Array ( [tag] = NOTE [type] = complete [level] = 2 [value] = simple note ) [2] = Array ( [tag] = PARA [type] = close [level] = 1 ) ) |
(expatライブラリを使用した)イベント駆動型パーサによる処理は、XML
ドキュメントが複雑な場合に複雑になる場合があります。この関数は、
DOM形式のオブジェクトを生成しませんが、ツリー風に一連の処理を行い
得る構造体を生成します。つまり、XMLのファイルを表すオブジェクトを
容易に作成することが可能です。次のXMLファイルを見てみましょう。こ
のファイルでは、アミノ酸の情報に関する小さなデータベースを表しま す。
** Database of AminoAcid objects: Array ( [0] = aminoacid Object ( [name] = Alanine [symbol] = ala [code] = A [type] = hydrophobic ) [1] = aminoacid Object ( [name] = Lysine [symbol] = lys [code] = K [type] = charged ) ) |