parser は、XML を処理するために PHP に組み込まれたパーサーであり、その動作は開始タグ、データの読み取り、終了タグの 3 つのイベントで構成されます。
つまり、XML を処理するときに、開始タグ、データ、および終了タグが検出されるたびに、関数は対応するアクションを実行して XML データの変換を完了します。
phpでのXML読み込みに関する関数の紹介:
引用:
オブジェクトXML解析関数 説明:
要素 xml_set_element_handler() 要素の始まりと終わり
文字データ xml_set_character_data_handler() 文字データの始まり
外部エンティティ xml_set_external_entity_ref_handler()外部Entityが出現
解析されていない外部エンティティ xml_set_unparsed_entity_decl_handler() 解析されていない外部エンティティが出現
処理命令 xml_set_processing_instruction_handler() 処理命令が出現
表記法宣言 xml_set_notation_decl_handler() 表記法宣言が出現
デフォルト xml_set_default_handler() その他は指定されていないイベントハンドラー関数
以下は例ですパーサー関数を使用して XML データを読み取る手順:
//パーサー エディターを作成する
$parser = xml_parser_create();
//タグがトリガーされたときに対応する関数をセットアップする 以下は次のとおりです: startElement と endElenment
xml_set_element_handler($parser, "startElement", "endElement");
//データ読み込み時に対応する関数を設定する
xml_set_character_data_handler($parser, "characterData"); // を指定読み取る XML ファイル (URL にすることができます)
$filehandler = fopen($xml_file, "r") //ファイルを開きます
while ($data = fread($filehandler, 4096))
{
xml_parse( $ parser, $data, feof($filehandler));
}//毎回の処理のために 4096 バイトを取り出します
fclose($filehandler)
//パーサーを閉じて解放します
xml_parser_free($parser); =false;
$position=false;
//開始タグイベントの関数
function startElement($parser_instance, $element_name, $attrs)
if($element_name==
$position; =true;
echo "ウェブサイト:"; $xml_data ."
";
if($name)
echo $xml_data."
"
}
//終了タグイベント関数
function; endElement($parser_instance, $element_name)
グローバル $name,$position;
$position=false;
}
?> 従業員>
従業員>