cari
RumahPerpustakaan PHPPerpustakaan lainFormat data PHP dan kelas penukaran XML
Format data PHP dan kelas penukaran XML

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

<?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

PDF ke XML: Amalan Terbaik untuk Memelihara Format dan DataPDF ke XML: Amalan Terbaik untuk Memelihara Format dan Data

02Apr2025

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)

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

JSON, XML, dan Format Data: Membandingkan RSSJSON, XML, dan Format Data: Membandingkan RSS

02May2025

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.

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...

See all articles