PHP SimpleXML
PHP SimpleXML は最も一般的な XML タスクを処理し、残りのタスクは他の拡張機能が処理します。
PHP SimpleXML とは?
SimpleXML は PHP 5 の新機能です。
SimpleXML 拡張機能は、XML 要素の名前とテキストを取得する簡単な方法を提供します。
DOM や Expat パーサーと比較して、SimpleXML はわずか数行のコードで XML 要素からテキストデータを読み取ることができます。
SimpleXML は、XML ドキュメント(または XML 文字列)をオブジェクトに変換できます。例:
- 要素は SimpleXMLElement オブジェクトの単一の属性に変換されます。同じレベルに複数の要素がある場合、それらは配列に配置されます。
- 属性は連想配列を使用してアクセスされ、インデックスは属性名に対応します。
- 要素内のテキストは文字列に変換されます。要素に複数のテキストノードがある場合は、見つかった順序で配置されます。
次のような基本的なタスクを実行する場合、SimpleXML は非常に高速に使用できます。
- XML ファイル/文字列のデータを読み取る/抽出する
- テキストノードまたは属性を編集する
ただし、名前空間などの高度な XML を処理する場合は、Expat パーサーまたは XML DOM を使用することをお勧めします。
インストール
PHP 5 以降、SimpleXML 関数は PHP コアの一部です。インストールなしでこれらの関数を使用できます。
PHP SimpleXML の例
次のような 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 オブジェクト)のキーと要素を出力します:
$xml=simplexml_load_file("note.xml");
print_r($xml);
サンプルを実行 »
上記のコードは次のように出力します:
SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )
例 2
XML ファイル内の各要素のデータを出力します:
$xml=simplexml_load_file("note.xml");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
サンプルを実行 »
上記のコードは次のように出力します:
Tove Jani Reminder Don't forget me this weekend!
例 3
各子ノードの要素名とデータを出力します:
$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 heading: Reminder body: Don't forget me this weekend!
PHP SimpleXML の詳細情報
PHP SimpleXML 関数の詳細については、私たちのPHP SimpleXML リファレンスマニュアル。