PHP での配列の SimpleXML オブジェクトへの変換
概要
SimpleXML は、PHP 拡張機能です。 XML ドキュメントを解析して作成するためのシンプルかつ直感的な方法を提供します。 XML データをオブジェクトとして表すため、アクセスや操作が簡単になります。場合によっては、既存の配列を SimpleXML オブジェクトに変換することが必要になります。
配列から SimpleXML への変換
配列を SimpleXML オブジェクトに変換するには、配列を再帰的に反復し、それに応じて要素と属性を SimpleXML オブジェクトに追加するカスタム関数。この関数は次のように実装できます。
function array_to_xml($data, &$xml_data) { foreach($data as $key => $value) { if(is_array($value)) { if(is_numeric($key)) { $key = 'item'.$key; // Dealing with numeric keys } $subnode = $xml_data->addChild($key); array_to_xml($value, $subnode); } else { $xml_data->addChild("$key",htmlspecialchars("$value")); } } }
例
次の配列を考えます。
$data = array('total_stud' => 500, 0 => array('student' => array('id' => 1, 'name' => 'abc', 'address' => array('city' => 'Pune', 'zip' => '411006'))), 1 => array('student' => array('id' => 2, 'name' => 'xyz', 'address' => array('city' => 'Mumbai', 'zip' => '400906'))));
この配列をSimpleXML オブジェクトの場合、SimpleXMLElement のインスタンスを作成し、それを array_to_xml に渡します。 function:
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><data></data>'); array_to_xml($data, $xml_data);
これにより、次の XML ドキュメントが生成されます:
<?xml version="1.0"?> <data> <total_stud>500</total_stud> <student> <id>1</id> <name>abc</name> <address> <city>Pune</city> <zip>411006</zip> </address> </student> <student> <id>1</id> <name>abc</name> <address> <city>Mumbai</city> <zip>400906</zip> </address> </student> </data>
Final Notes
array_to_xml 関数は、任意の配列を処理できます。深さと複雑さ。これは、データのエクスポートやシリアル化など、さまざまな目的で配列を XML ドキュメントに変換するために使用できる多用途ツールです。 SimpleXML 拡張機能は、XML データを操作および保存するための追加メソッドをいくつか提供し、PHP での XML 処理の貴重なツールとなります。
以上がPHP 配列を SimpleXML オブジェクトに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。