dmb / xml-converter
A package that allows you to easily convert your XML string into array format or generate an XML string from an array.
v0.1.3
2023-09-15 15:19 UTC
Requires
- php: >=7.4
- spatie/array-to-xml: 2.17.1
Requires (Dev)
- nunomaduro/larastan: ^1.0
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.0
README
Xml Converter - convert from xml to array and viceversa
A package that allows you to easily convert your XML string into array format or generate an XML string from an array. This package is based on: Spatie Array to XML and Gaarf XML string to PHP array.
Installation
You can install the package via composer:
composer require dmb/xml-converter
From Array to XML
Below some examples of use.
Default root name: root
$arrayConverted = (new FromArray()) ->convertToXml($arrayToConvert);
Custom root name: customRootName
$arrayConverted = (new FromArray()) ->convertToXml( $arrayToConvert, 'customRootName' );
Custom root name: customRootName and attributes
$arrayConverted = (new FromArray()) ->convertToXml( $arrayToConvert, [ 'rootElementName' => 'customRootName', '_attributes' => [ 'xmlns' => 'https://github.com/davidemariabusi/xml-converter', ], );
Example with all features
$arrayToConvert = [ 'First_User' => [ '_attributes' => [ 'attr1' => 'value' ], 'name' => 'Name', ], 'Second_User' => [ 'name' => 'Name 2' ], 'Third_User' => [ '_attributes' => [ 'attr2' => 'value 2' ], '_value' => 'Name 3' ] ]; $arrayConverted = (new FromArray()) ->convertToXml( $arrayToConvert, [ 'rootElementName' => 'customRootName', '_attributes' => [ 'xmlns' => 'https://github.com/davidemariabusi/xml-converter', ], ] );
Result
<?xml version="1.0"?> <customRootName xmlns="https://github.com/davidemariabusi/xml-converter"> <First_User attr1="value"> <name>Name</name> <weapon>Lightsaber</weapon> </First User> <Second_User> <name>Name2</name> </Second_User> <Third_User attr2="value 2"> Name 3 </Third_User> </customRootName>
From XML to Array
Below some examples of use.
With valid XML
The xml will be converted to array.
try { $converted = (new FromXml()) ->convertToArray($validXml); } catch (XmlParsingExcpetion $e) { $error = $e->getMessage(); }
With invalid XML
An XmlParsingExcpetion will be caught.
try { $converted = (new FromXml()) ->convertToArray($invalidXML); } catch (XmlParsingExcpetion $e) { $error = $e->getMessage(); }
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
License
The MIT License (MIT). Please see License File for more information.