PHP では、配列を SimpleXML オブジェクトに変換すると、XML データを操作する便利な方法となります。
次のコード スニペットは、配列を次のように変換する問題の解決策を提供します。 SimpleXML オブジェクト:
// Array to be converted $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 ) ) ) ); // Create a SimpleXMLElement object $xml_data = new SimpleXMLElement('<?xml version="1.0"?><student_info></student_info>'); // Function to convert array to XML function array_to_xml($data, &$xml_data) { foreach ($data as $key => $value) { if (is_array($value)) { if (is_numeric($key)) { $key = 'item' . $key; // Handle numeric keys } $subnode = $xml_data->addChild($key); array_to_xml($value, $subnode); } else { $xml_data->addChild("$key", htmlspecialchars("$value")); } } } // Convert array to XML array_to_xml($data, $xml_data); // Save the generated XML file $result = $xml_data->asXML('/file/path/name.xml');
このコードは、配列を再帰的に反復し、指定された $xml_data オブジェクトに SimpleXMLElement ノードを追加する array_to_xml という関数を定義します。 item のプレフィックスを追加することで数値配列キーを処理します。 htmlspecialchars 関数は、配列値内の特殊文字をエスケープして、適切な XML 形式を保証するために使用されます。最後に、生成された XML は asXML を使用してファイルに保存されます。
以上がPHP 配列を SimpleXML オブジェクトに変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。