PHP SimpleXML とは何ですか?
SimpleXML は PHP 5 の新機能です。
SimpleXML 拡張機能は、XML 要素の名前とテキストを取得する簡単な方法を提供します。
DOM パーサーや Expat パーサーと比較して、SimpleXML はわずか数行のコードで XML 要素からテキスト データを読み取ることができます。
SimpleXML は、XML ドキュメント (または XML 文字列) をオブジェクトに変換できます。例:
·は XML ドキュメント (または XML 文字列) に変換できます。同じレベルに複数の要素がある場合、それらは配列に配置されます。
· 属性には連想配列を使用してアクセスします。インデックスは属性名に対応します。
· 要素内のテキストは文字列に変換されます。要素に複数のテキスト ノードがある場合、それらは見つかった順に配置されます。
SimpleXML は、次のような基本的なタスクを実行する場合に非常に高速に使用できます:
· XML ファイル/文字列からのデータの読み取り/抽出
· テキスト ノードまたは属性の編集
ただし、名前空間などの高度な XML を扱う場合は、 Expat パーサーまたは XML DOM。
インストール
PHP 5 以降、SimpleXML 関数は PHP コアの不可欠な部分です。これらの機能を使用するためにインストールは必要ありません。
PHP SimpleXML の例
次の XML ファイル「note.xml」があるとします。
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
次に、上記の XML ファイルのさまざまな情報を出力します:
例 1
$xml 変数を出力する(SimpleXMLElement オブジェクトです) キーと要素:
<?php $xml=simplexml_load_file("note.xml"); print_r($xml); ?>
上記のコードは出力します:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [Heading] => Reminder [body] = > 今週末は私を忘れないでください!)
例 2
XML ファイルの各要素のデータを出力します:
<?php $xml=simplexml_load_file("note.xml"); echo $xml->to . "<br>"; echo $xml->from . "<br>"; echo $xml->heading . "<br>"; echo $xml->body; ?>
上記のコードは次のように出力します:
Tove
Jani
Reminder
今週末は私を忘れてください!
例 3
各子ノードの要素名とデータを出力します:
<?php $xml=simplexml_load_file("note.xml"); echo $xml->getName() . "<br>"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br>"; } ?>
上記のコードは出力します:
note
to: Tove
from: Jani
見出し:リマインダー
本体: 今週末は私を忘れないでください!