mtownsend5512 / xml-to-array by mtownsend

Easily convert valid xml to a php array.
1,699,781
110
4
Package Data
Maintainer Username: mtownsend
Maintainer Contact: mtownsend5512@gmail.com (Mark Townsend)
Package Create Date: 2018-10-17
Package Last Update: 2021-02-27
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:19:56
Package Statistics
Total Downloads: 1,699,781
Monthly Downloads: 86,397
Daily Downloads: 3,733
Total Stars: 110
Total Watchers: 4
Total Forks: 15
Total Open Issues: 3

Easily convert valid xml to a php array.

Installation

Install via composer:

composer require mtownsend/xml-to-array

Quick start

Using the class

use Mtownsend\XmlToArray\XmlToArray;

$xml = <<<XML
<?xml version="1.0"?>
<request>
    <carrier>fedex</carrier>
    <id>123</id>
    <tracking_number>9205590164917312751089</tracking_number>
</request>
XML;

$array = XmlToArray::convert($xml);

// $array is:
[
	'carrier' => 'fedex',
	'id' => '123',
	'tracking_number' => '9205590164917312751089'
];

Using the global helper

$xml = <<<XML
<?xml version="1.0"?>
<request>
    <carrier>fedex</carrier>
    <id>123</id>
    <tracking_number>9205590164917312751089</tracking_number>
</request>
XML;

$array = xml_to_array($xml);

// $array is:
[
	'carrier' => 'fedex',
	'id' => '123',
	'tracking_number' => '9205590164917312751089'
];

Helpers, methods, and arguments

Static method

XmlToArray::convert($xml, $outputRoot = false)

The $outputRoot determines whether or not the php array will have a @root key. Default is false.

Helper

xml_to_array($xml, $outputRoot = false)

Arguments are identical to XmlToArray::convert method.

Purpose

XML has always been a challenge to work with in PHP compared to other data formats, such as JSON. This package aims to make integrating with XML files or api requests significantly easier. With this package, you might actually like interfacing with XML in your application now.

Other packages you may be interested in

Credits

Testing

You can run the tests with:

./vendor/bin/phpunit

License

The MIT License (MIT). Please see License File for more information.