PHP SimpleXML は最も一般的な XML タスクを処理し、残りは他の拡張機能に任せます。
SimpleXML は PHP 5 の新機能です。
SimpleXML 拡張機能は、XML 要素の名前とテキストを取得する簡単な方法を提供します。
DOM パーサーや Expat パーサーと比較して、SimpleXML はわずか数行のコードで XML 要素からテキスト データを読み取ることができます。
SimpleXML は、XML ドキュメント (または XML 文字列) を次のようなオブジェクトに変換できます。
要素は SimpleXMLElement オブジェクトの単一のプロパティに変換されます。同じレベルに複数の要素がある場合、それらは配列に配置されます。
プロパティには連想配列を使用してアクセスします。インデックスはプロパティ名に対応します。
要素内のテキストは文字列に変換されます。要素に複数のテキスト ノードがある場合、それらは見つかった順に配置されます。
SimpleXML は、次のような基本的なタスクを実行するときに非常に高速に使用できます。
XML ファイル/文字列からのデータの読み取り/抽出
テキストノードまたは属性を編集する
ただし、名前空間などの高度な XML を扱う場合は、Expat パーサーまたは XML DOM を使用することをお勧めします。
PHP 5 以降、SimpleXML 関数は PHP の中核の一部です。これらの機能を使用するためにインストールは必要ありません。
次の XML ファイル「note.xml」があるとします。
<? xmlバージョン= " 1.0 "エンコーディング= " ISO-8859-1 " ?> <注> <へ>トーベ</へ> <から>ジャニ</から> <見出し>リマインダー</見出し> < body >今週末は私を忘れないでください! </ body > </メモ>次に、上記の XML ファイルからさまざまな情報を出力します。
$xml 変数 (SimpleXMLElement オブジェクト) のキーと要素を出力します。
<?php $ xml = simplexml_load_file ( " note.xml " ) ;上記のコードは次のように出力します。
SimpleXMLElement オブジェクト ( [to] => Tove [from] => Jani [見出し] => リマインダー [本文] => 今週末は私を忘れないでください! )
XML ファイル内の各要素のデータを出力します。
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - >に" <br> " ; $ xml - >から" <br> " ; $ xml - >見出し" <br> " ; $xml ->本体? >上記のコードは次のように出力します。
ToveJaniリマインダー今週末は私を忘れないでください!
各子ノードの要素名とデータを出力します。
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $xml -> getName ( ) . " <br> " ; $ xml - > Children ( )として$子) { エコー$ child - > getName ( ) . $ child .?>上記のコードは次のように出力します。
noteto: Tovefrom: JaniHeading: Reminderbody: 今週末は私を忘れないでください!
PHP SimpleXML 関数の詳細については、PHP SimpleXML リファレンス マニュアルを参照してください。