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 オブジェクト)のキーと要素を出力します:

<?php $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 ファイル内の各要素のデータを出力します:

<?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
Don't forget me this weekend!

例 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
heading: Reminder
body: Don't forget me this weekend!


PHP SimpleXML の詳細情報

PHP SimpleXML 関数の詳細については、私たちのPHP SimpleXML リファレンスマニュアル。

その他の拡張機能