vaclavvanik / xml-to-array
Convert xml to array
Installs: 2 762
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/vaclavvanik/xml-to-array
Requires
- php: ^7.3 || ^8.0
- ext-dom: *
- ext-libxml: *
This package is auto-updated.
Last update: 2025-10-10 06:01:40 UTC
README
This package provides a very simple class to convert xml to array.
Install
You can install this package via composer.
composer require vaclavvanik/xml-to-array
Usage
use VaclavVanik\XmlToArray\XmlToArray; $xml = <<<'XML' <root> <good_guy> <name>Luke Skywalker</name> <weapon>Lightsaber</weapon> </good_guy> <good_guy> <name><![CDATA[<h1>Gandalf</h1>]]></name> <weapon>Staff</weapon> </good_guy> <bad_guy lang="Black Speech"> <name>Sauron</name> <weapon>Evil Eye</weapon> </bad_guy> </root> XML; $result = XmlToArray::stringToArray($xml);
After running this piece of code $result will contain:
[
'root' => [
'good_guy' => [
[
'name' => 'Luke Skywalker',
'weapon' => 'Lightsaber',
],
[
'name' => '<h1>Gandalf</h1>',
'weapon' => 'Staff',
],
],
'bad_guy' => [
'@attributes' => [
'lang' => 'Black Speech',
],
'name' => 'Sauron',
'weapon' => 'Evil Eye',
],
],
];
Converting XML file is also available:
use VaclavVanik\XmlToArray\XmlToArray; $result = XmlToArray::stringToArray('my.xml');
Converting DOMDocument directly:
use DOMDocument; use VaclavVanik\XmlToArray\XmlToArray; $doc = new DOMDocument(); //$doc->loadXML(...); $xmlToArray = new XmlToArray($doc); $result = $xmlToArray->toArray();
Run check - coding standards and php-unit
make check
Changelog
Please see CHANGELOG for more information what has changed recently.
License
The MIT License (MIT). Please see License File for more information.