<?php function xml2array($contents, $get_attributes = 1, $priority = 'tag') { if (!$contents) return array(); if (!function_exists('xml_parser_create')) { // print "'xml_parser_create()' function not found!"; return array(); } // Get the XML parser of PHP - PHP must have this module for the parser to work $parser = xml_parser_create(''); xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, "UTF-8"); // http://minutillo.com/steve/weblog/2004/6/17/php-xml-and-character-encodings-a-tale-of-sadness-rage-and-data-loss xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0); xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1); xml_parse_into_struct($parser, trim($contents), $xml_values); xml_parser_free($parser); if (!$xml_values) return; //Hmm... // Initializations $xml_array = array(); $parents = array(); $opened_tags = array(); $arr = array(); $current = &$xml_array; //Refference // Go through the tags. $repeated_tag_index = array(); //Multiple tags with same name will be turned into an array foreach($xml_values as $data) { unset($attributes, $value); //Remove existing values, or there will be trouble // This command will extract these variables into the foreach scope // tag(string), type(string), level(int), attributes(array). extract($data); //We could use the array by itself, but this cooler. $result = array(); $attributes_data = array(); if (isset($value)) { if ($priority == 'tag') $result = $value; else $result['value'] = $value; //Put the value in a assoc array if we are in the 'Attribute' mode }
Ini ialah perpustakaan kelas yang boleh menukar antara format XML dan data Rakan yang memerlukannya boleh memuat turun dan menggunakannya.
Semua sumber di laman web ini disumbangkan oleh netizen atau dicetak semula oleh tapak muat turun utama. Sila semak integriti perisian itu sendiri! Semua sumber di laman web ini adalah untuk rujukan pembelajaran sahaja. Tolong jangan gunakannya untuk tujuan komersial. Jika tidak, anda akan bertanggungjawab untuk semua akibat! Jika terdapat sebarang pelanggaran, sila hubungi kami untuk memadamkannya. Maklumat hubungan: admin@php.cn
Artikel Berkaitan

02 Apr 2025
Bagaimana cara menukar PDF ke XML? Gunakan penukar dalam talian, perisian desktop atau perpustakaan pengaturcaraan untuk memilih format fail yang sesuai (XHTML, PDF/UA, XML) untuk mengoptimumkan PDF (OCR, memadam unsur -unsur yang tidak perlu, menyesuaikan halaman) untuk menyempurnakan tetapan penukaran (TAG, metadata, pengekstrakan imej)

10 Mar 2025
Artikel ini meneroka menukarkan data XML ke format JSON atau CSV. Ia membincangkan pelbagai kaedah: Bahasa & Perpustakaan Pengaturcaraan (Python, Java, JavaScript), alat baris arahan, dan penukar dalam talian. Cabaran termasuk struktur kompleks, nama

27 Aug 2025
Artikel ini menerangkan cara menggunakan perpustakaan Guzzle PHP untuk menghantar permintaan HTTP dan mengekstrak data yang diperlukan dari respons XML. Ia memberi tumpuan kepada cara memproses data XML yang mengandungi ruang nama dan menyediakan kod sampel untuk menghuraikan data XML menggunakan SimpleXMLElement untuk membantu pemaju dengan cepat dan cekap mengekstrak bidang khusus dalam data XML.

02 May 2025
Perbezaan utama antara JSON, XML dan RSS adalah struktur dan kegunaan: 1. JSON sesuai untuk pertukaran data mudah, dengan struktur ringkas dan mudah dihuraikan; 2. XML sesuai untuk struktur data yang kompleks, dengan struktur yang ketat tetapi parsing kompleks; 3. RSS didasarkan pada XML dan digunakan untuk pelepasan kandungan, penggunaan standard tetapi terhad.

27 Aug 2025
Artikel ini memperkenalkan kaedah yang berkesan untuk menukar nilai array secara dinamik jenis rentetan ke dalam jenis data yang sepadan (seperti integer, nombor titik terapung, dan nilai boolean) dalam PHP. Sebagai tindak balas kepada masalah penukaran manual yang tidak cekap apabila memproses sejumlah besar data atau dinamik, kemahiran praktikal disediakan untuk menggunakan JSON_ENCODE yang digabungkan dengan fungsi JSON_NUMERIC_CHECK dan FILLE

01 Sep 2025
Artikel ini bertujuan untuk menyelesaikan masalah bagaimana untuk menukar nilai-nilai khusus front-end (seperti '0' dan '3') ke dalam teks yang boleh dibaca back-end (seperti 'tidak' dan 'ya') dalam pemprosesan borang PHP. Artikel ini menganalisis penyalahgunaan fungsi Isset secara terperinci dalam senario ini dan menyediakan kaedah penukaran yang betul berdasarkan perbandingan nilai yang ketat. Pada masa yang sama, amalan terbaik pemisahan tanggungjawab di hujung depan dan belakang ditekankan, dan disyorkan untuk memproses logik perniagaan secara terpusat di sisi pelayan untuk meningkatkan pemeliharaan dan skalabiliti kod.


Alat panas

Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda

Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan

Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej
