Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menukar Tatasusunan PHP kepada Objek SimpleXML?

Bagaimana untuk Menukar Tatasusunan PHP kepada Objek SimpleXML?

Patricia Arquette
Patricia Arquetteasal
2024-12-21 02:52:08860semak imbas

How to Convert PHP Arrays to SimpleXML Objects?

Menukar Tatasusunan kepada Objek SimpleXML dalam PHP

Dalam PHP, menukar tatasusunan kepada objek SimpleXML boleh menjadi cara mudah untuk memanipulasi data XML.

Penyelesaian

Coretan kod berikut menyediakan penyelesaian kepada masalah menukar tatasusunan ke objek 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');

Kod ini mentakrifkan fungsi yang dipanggil array_to_xml yang berulang ulang melalui tatasusunan dan menambah nod SimpleXMLElement pada objek $xml_data yang disediakan. Ia mengendalikan kekunci tatasusunan berangka dengan menambahkan awalan item. Fungsi htmlspecialchars digunakan untuk melepaskan sebarang aksara khas dalam nilai tatasusunan untuk memastikan pembentukan XML yang betul. Akhir sekali, XML yang dijana disimpan ke fail menggunakan asXML.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tatasusunan PHP kepada Objek SimpleXML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn