<?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
17 Dec 2024
Mencipta Perpustakaan Statik yang Berpaut ke Perpustakaan Statik Lain Apabila membina perpustakaan statik yang bergantung pada kebergantungan daripada berbilang yang lain...
01 Nov 2024
Pengepala yang manakah dalam Perpustakaan Standard C Termasuk Lain-lain? Secara umumnya, pengaturcara tidak seharusnya menganggap bahawa satu pengepala perpustakaan standard C akan...
26 Oct 2024
Mengekstrak Respons XML Menggunakan PHP cURLApabila menggunakan kaedah PHP cURL dan menerima respons XML, selalunya wajar untuk menyimpannya dalam...
13 Dec 2024
Memautkan Perpustakaan Statik ke Perpustakaan Statik Lain: Pendekatan Komprehensif Perpustakaan statik menyediakan mekanisme yang mudah untuk membungkus yang boleh digunakan semula...
01 Dec 2024
Menghantar Permintaan GET dalam PHPQuestion: Bagaimanakah saya boleh menghantar permintaan HTTP GET untuk mendapatkan semula kandungan XML daripada URL menggunakan PHP? Jawapan: Untuk memuat turun XML...
28 Oct 2024
Dapatkan Respons XML dengan PHP cURL dan Ekstrak Data Dengan CekapApabila menggunakan PHP cURL untuk berinteraksi dengan pelayan, adalah perkara biasa untuk menerima XML...
Hot Tools
Pustaka PHP untuk bekas suntikan kebergantungan
Pustaka PHP untuk bekas suntikan kebergantungan
Koleksi 50 algoritma PHP klasik yang sangat baik
Algoritma PHP klasik, pelajari idea yang sangat baik dan kembangkan pemikiran anda
Pustaka PHP kecil untuk mengoptimumkan imej
Pustaka PHP kecil untuk mengoptimumkan imej