Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menukar dokumen XML kepada tatasusunan dalam PHP
Dalam proses pembangunan PHP, pemprosesan XML adalah operasi yang sangat biasa, dan PHP menyediakan banyak fungsi dan perpustakaan kelas untuk pemprosesan XML. Antaranya, fungsi menukar dokumen XML kepada tatasusunan PHP adalah operasi yang sangat penting, kerana ia boleh menggunakan data XML dengan mudah untuk operasi seterusnya dan analisis logik. Artikel ini akan membincangkan beberapa fungsi yang biasa digunakan dalam PHP untuk menukar dokumen XML kepada tatasusunan PHP.
simplexml_load_string() ialah fungsi yang biasa digunakan dalam PHP, yang boleh menukar dokumen XML kepada objek XML ringkas dalam PHP. Fungsi ini menerima dokumen XML sebagai rentetan dan mencipta objek XML mudah dengan menghuraikan dokumen. Berikut ialah contoh mudah:
$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>"; $xml_object = simplexml_load_string($xml_string); print_r($xml_object);
Kod di atas akan mengeluarkan keputusan berikut:
SimpleXMLElement Object ( [student] => SimpleXMLElement Object ( [name] => Tom [age] => 18 ) )
Dalam contoh di atas, kami menggunakan rentetan XML sebagai parameter fungsi simplexml_load_string() , dan tetapkan objek yang dikembalikan kepada pembolehubah $xml_object. Kami mendapati bahawa nilai $xml_object ialah objek SimpleXMLElement, yang mengandungi semua data dalam dokumen XML.
Perlu diambil perhatian bahawa fungsi simplexml_load_string() biasanya digunakan untuk pemprosesan dokumen XML mudah. Jika dokumen XML anda lebih kompleks, adalah disyorkan untuk menggunakan fungsi pemprosesan XML dan perpustakaan kelas yang lain.
Fungsi simplexml_load_file() sangat serupa dengan fungsi simplexml_load_string() Satu-satunya perbezaan ialah yang pertama menghuraikan dokumen XML daripada sistem fail PHP. Berikut ialah contoh mudah:
$xml_file = "students.xml"; $xml_object = simplexml_load_file($xml_file); print_r($xml_object);
Kod di atas akan mengeluarkan keputusan berikut:
SimpleXMLElement Object ( [student] => Array ( [0] => SimpleXMLElement Object ( [name] => Tom [age] => 18 ) ) )
Dalam contoh di atas, kami menggunakan fungsi simplexml_load_file() untuk menghuraikan XML file Dapatkan objek SimpleXMLElement dan tetapkan kepada pembolehubah $xml_object. Fungsi ini memudahkan menghuraikan fail XML daripada sistem fail, tetapi anda juga perlu mengetahui kerumitan fail XML.
fungsi xml_parse_into_struct() ialah fungsi yang sangat biasa digunakan dalam PHP, yang boleh menghuraikan dokumen XML ke dalam tatasusunan PHP. Berbeza daripada fungsi simplexml_load_string() dan fungsi simplexml_load_file(), fungsi xml_parse_into_struct() mengembalikan tatasusunan dua dimensi yang mengandungi semua elemen dan atribut dalam dokumen XML. Berikut ialah contoh mudah:
$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>"; $xml_parser = xml_parser_create(); xml_parse_into_struct($xml_parser, $xml_string, $xml_array); xml_parser_free($xml_parser); print_r($xml_array);
Kod di atas akan mengeluarkan keputusan berikut:
Array ( [0] => Array ( [tag] => students [type] => open [level] => 1 ) [1] => Array ( [tag] => student [type] => open [level] => 2 ) [2] => Array ( [tag] => name [type] => complete [level] => 3 [value] => Tom ) [3] => Array ( [tag] => age [type] => complete [level] => 3 [value] => 18 ) [4] => Array ( [tag] => student [type] => close [level] => 2 ) [5] => Array ( [tag] => students [type] => close [level] => 1 ) )
Dalam contoh di atas, kami menggunakan fungsi xml_parser_create() untuk mencipta XML pemproses parser, dan kemudian gunakan fungsi xml_parse_into_struct() untuk menghuraikan rentetan XML ke dalam tatasusunan PHP dan menetapkannya kepada pembolehubah $xml_array. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan nilai tatasusunan $xml_array.
Perlu diambil perhatian bahawa fungsi xml_parse_into_struct() hanya sesuai untuk menghuraikan dokumen XML kecil. Untuk dokumen XML yang besar dan kompleks, adalah disyorkan untuk menggunakan fungsi atau pustaka penghuraian XML yang lain.
Kelas DOMDocument ialah penghurai XML yang sangat biasa digunakan dan berkuasa dalam PHP. Ia boleh menghuraikan dokumen XML ke dalam objek DOM dan menyediakan satu set API untuk mengakses dan mengubah suai nod dan sifat objek ini. Berikut ialah contoh mudah:
$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>"; $dom_document = new DOMDocument(); $dom_document->loadXML($xml_string); $students = $dom_document->getElementsByTagName('student'); foreach ($students as $student) { $name = $student->getElementsByTagName('name')->item(0)->nodeValue; $age = $student->getElementsByTagName('age')->item(0)->nodeValue; echo "Name: $name, Age: $age"; }
Kod di atas akan mengeluarkan keputusan berikut:
Name: Tom, Age: 18
Dalam contoh di atas, kami menggunakan kelas DOMDocument untuk menghuraikan rentetan XML ke DOM objek, dan gunakan fungsi getElementsByTagName() untuk memilih nod pelajar. Akhir sekali, kami menggunakan sifat nodeValue untuk mendapatkan nilai nod dan mengeluarkannya ke skrin.
Perlu diambil perhatian bahawa kelas DOMDocument menyediakan pelbagai kaedah dan atribut untuk mengendalikan dan mengubah suai dokumen XML, menjadikannya pilihan terbaik untuk penghuraian dan pemprosesan XML.
Dalam artikel ini, kami telah memperkenalkan secara terperinci beberapa fungsi dan perpustakaan biasa dalam PHP untuk menukar dokumen XML kepada tatasusunan PHP. Fungsi dan perpustakaan kelas ini boleh menggunakan data XML dengan mudah untuk operasi seterusnya dan analisis logik. Dalam penggunaan sebenar, bergantung pada kerumitan dokumen XML dan senario penggunaan, kami boleh memilih fungsi dan perpustakaan kelas yang berbeza untuk menyelesaikan tugas pemprosesan XML kami.
Atas ialah kandungan terperinci Bagaimana untuk menukar dokumen XML kepada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!