PHP SimpleXML
SimpleXMLは最も一般的なXMLタスクを処理し、他のエクステンションに残りのタスクを任せます。
SimpleXMLとは何ですか?
SimpleXMLはPHP5の新しい機能です。XMLドキュメントのレイアウトを理解している場合、要素の属性やテキストを取得する便利な方法です。
DOMやExpatパーサーと比較して、SimpleXMLは要素からテキストデータを読み取るためにわずか数行のコードしか必要ありません。
SimpleXMLはXMLドキュメントをオブジェクトに変換できます。例えば:
- 要素 - 単一の属性がSimpleXMLElementオブジェクトに変換されます。同一レベルに複数の要素がある場合、それらは配列に配置されます。
- 属性 - 関連配列を使用してアクセスし、インデックスは属性名に対応します。
- 要素データ - 要素のテキストデータは文字列に変換されます。要素が複数のテキストノードを持っている場合、それらは発見された順に並べられます。
以下のような基本的なタスクを実行する場合、SimpleXMLは非常に高速に使用できます:
- XMLファイルを読み取る
- XML文字列からデータを抽出する
- テキストノードや属性の編集
しかし、名前空間などの高度なXMLを処理する場合、ExpatパーサーやXMLDOMを使用するのが最善です。
インストール
PHP5.0から、SimpleXML関数はPHPの核心の一部です。これらの関数を使用するにはインストールする必要はありません。
SimpleXMLを使用して
以下はXMLファイルです:
<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note>
私たちは上記の XML ファイルから要素の名前とデータを出力することを目指しています。
これは行うべきこと:
- XML ファイルをロードする
- 最初の要素の名前を取得する
- children() 関数を使用して各子要素上でループを生成する
- 各子要素の要素名とデータを出力する
例
<?php $xml = simplexml_load_file("test.xml"); echo $xml->getName() . "<br />"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br />"; } ?>
以下のコードの出力:
note to: George from: John heading: 警告 body: 会議を忘れないで!
PHP SimpleXML に関するさらに詳細な情報
PHP SimpleXML に関するさらに詳細な情報が必要な場合は、私たちの PHP SimpleXML リファレンスマニュアル。