<?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.
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
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
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...
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.
13Dec2024
Linking Static Libraries to Other Static Libraries: A Comprehensive ApproachStatic libraries provide a convenient mechanism to package reusable...
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...
28Oct2024
Retrieve XML Responses with PHP cURL and Extract Data EfficientlyWhen using PHP cURL to interact with servers, it's common to receive XML...
Hot Tools
PHP library for dependency injection containers
PHP library for dependency injection containers
A collection of 50 excellent classic PHP algorithms
Classic PHP algorithm, learn excellent ideas and expand your thinking
Small PHP library for optimizing images
Small PHP library for optimizing images