search
HomePHP LibrariesOther librariesPHP data format and XML conversion class
PHP data format and XML conversion class
<?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
    }

This is a class library that can convert between XML and data formats. Friends who need it can download and use it.

Disclaimer

All resources on this site are contributed by netizens or reprinted by major download sites. Please check the integrity of the software yourself! All resources on this site are for learning reference only. Please do not use them for commercial purposes. Otherwise, you will be responsible for all consequences! If there is any infringement, please contact us to delete it. Contact information: admin@php.cn

Related Article

PHP method to generate and obtain XML format data, php obtains xml format_PHP tutorialPHP method to generate and obtain XML format data, php obtains xml format_PHP tutorial

12Jul2016

PHP method to generate and obtain XML format data, PHP obtains xml format. Methods for PHP to generate and obtain XML format data, PHP to obtain XML format. This article describes the method for PHP to generate and obtain XML format data. Share it with everyone for your reference, the details are as follows: In

How Can LINQ to XML Efficiently Parse and Format Nested XML Data?How Can LINQ to XML Efficiently Parse and Format Nested XML Data?

30Jan2025

LINQ to XML: Reading and Manipulating XML DataWhen working with XML data in .NET, LINQ to XML offers a powerful and flexible approach to querying...

PHP handles conversion between arrays and XML, php handles array xml_PHP tutorialPHP handles conversion between arrays and XML, php handles array xml_PHP tutorial

12Jul2016

PHP handles the conversion between arrays and XML, and php handles array xml. PHP handles the conversion between arrays and XML, and PHP handles array xml. During development, we often encounter the conversion between arrays and XML, especially when dealing with interface development.

How Do I Link Static Libraries That Depend on Other Static Libraries?How Do I Link Static Libraries That Depend on Other Static Libraries?

13Dec2024

Linking Static Libraries to Other Static Libraries: A Comprehensive ApproachStatic libraries provide a convenient mechanism to package reusable...

How to Send HTTP GET Requests and Retrieve XML Data in PHP?How to Send HTTP GET Requests and Retrieve XML Data in PHP?

01Dec2024

Sending GET Requests in PHPQuestion: How can I send an HTTP GET request to retrieve XML content from a URL using PHP?Answer:To download XML...

How to Parse XML Responses from PHP cURL Efficiently and Extract Data?How to Parse XML Responses from PHP cURL Efficiently and Extract Data?

28Oct2024

Retrieve XML Responses with PHP cURL and Extract Data EfficientlyWhen using PHP cURL to interact with servers, it's common to receive XML...

See all articles