cari
RumahPerpustakaan PHPPerpustakaan lainFormat data PHP dan kelas penukaran XML
Format data PHP dan kelas penukaran XML
<?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.

Penafian

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

Bagaimanakah saya boleh menukar data XML ke format lain (JSON, CSV, dan lain -lain)?Bagaimanakah saya boleh menukar data XML ke format lain (JSON, CSV, dan lain -lain)?

10Mar2025

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

Bagaimana untuk Mencipta Perpustakaan Statik daripada Berbilang Perpustakaan Statik Lain?Bagaimana untuk Mencipta Perpustakaan Statik daripada Berbilang Perpustakaan Statik Lain?

17Dec2024

Mencipta Perpustakaan Statik yang Berpaut ke Perpustakaan Statik Lain Apabila membina perpustakaan statik yang bergantung pada kebergantungan daripada berbilang yang lain...

Bagaimanakah saya mengimport dan mengeksport data dalam pelbagai format (CSV, Excel, XML, JSON) menggunakan Navicat?Bagaimanakah saya mengimport dan mengeksport data dalam pelbagai format (CSV, Excel, XML, JSON) menggunakan Navicat?

14Mar2025

Navicat memudahkan import/eksport data dalam format seperti CSV, Excel, XML, JSON menggunakan penyihir import/eksport, membantu pengurusan data dan analisis yang cekap.

Pengepala Perpustakaan Standard C Manakah yang Termasuk Secara Eksplisit Lain?Pengepala Perpustakaan Standard C Manakah yang Termasuk Secara Eksplisit Lain?

01Nov2024

Pengepala yang manakah dalam Perpustakaan Standard C Termasuk Lain-lain? Secara umumnya, pengaturcara tidak seharusnya menganggap bahawa satu pengepala perpustakaan standard C akan...

Bagaimana Menghuraikan dan Mengekstrak Data daripada Respons XML Menggunakan PHP cURL?Bagaimana Menghuraikan dan Mengekstrak Data daripada Respons XML Menggunakan PHP cURL?

26Oct2024

Mengekstrak Respons XML Menggunakan PHP cURLApabila menggunakan kaedah PHP cURL dan menerima respons XML, selalunya wajar untuk menyimpannya dalam...

Bagaimanakah Saya Memautkan Perpustakaan Statik yang Bergantung pada Perpustakaan Statik Lain?Bagaimanakah Saya Memautkan Perpustakaan Statik yang Bergantung pada Perpustakaan Statik Lain?

13Dec2024

Memautkan Perpustakaan Statik ke Perpustakaan Statik Lain: Pendekatan Komprehensif Perpustakaan statik menyediakan mekanisme yang mudah untuk membungkus yang boleh digunakan semula...

See all articles