telton/xml-to-array

This package is abandoned and no longer maintained. No replacement package was suggested.

A PHP package to convert an XML string to an array.

1.0.0 2018-10-24 17:40 UTC

This package is auto-updated.

Last update: 2020-01-24 20:45:42 UTC


README

Build Status

This is a PHP package that converts an XML string to an array.

To use:

/**
 * XML Structure:
 *
 * <tag>
 *   <announcement>This is awesome!</announcement>
 *   <author>Tyler Elton</author>
 * </tag>
 **/

$array = \Telton\XMLToArray\XMLToArray::convert($xml);

/**
 * Converted array:
 *
 * [
 *   'announcement' => 'This is awesome!',
 *   'author'       => 'Tyler Elton'
 * ]
 **/

There is an optional flag in convert() that will add the root tag as well:

/**
 * XML Structure:
 *
 * <tag>
 *   <announcement>This is awesome!</announcement>
 *   <author>Tyler Elton</author>
 * </tag>
 **/

$array = \Telton\XMLToArray\XMLToArray::convert($xml, true);

/**
 * Converted array:
 *
 * [
 *   'announcement' => 'This is awesome!',
 *   'author'       => 'Tyler Elton',
 *   'root'         => 'tag'
 * ]
 **/

If the XML has attribute tags, it will convert them like this:

/**
 * XML Structure:
 *
 * <tag type="announcement">
 *   <announcement>This is awesome!</announcement>
 *   <author role="developer">Tyler Elton</author>
 * </tag>
 **/

$array = \Telton\XMLToArray\XMLToArray::convert($xml, true);

/**
 * Converted array:
 *
 * [
 *   'announcement' => 'This is awesome!',
 *   'author' => [
 *      'value' => 'Tyler Elton',
 *      'role'  => 'developer'
 *    ],
 *   'root'         => 'tag',
 *   'type'         => 'announcement'
 * ]
 **/