PHP code example of spatie / array-to-xml
1. Go to this page and download the library: Download spatie/array-to-xml library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once ('vendor/autoload.php' );
spatie / array-to-xml example snippets
use Spatie \ArrayToXml \ArrayToXml ;
...
$array = [
'Good guy' => [
'name' => 'Luke Skywalker' ,
'weapon' => 'Lightsaber'
],
'Bad guy' => [
'name' => 'Sauron' ,
'weapon' => 'Evil Eye'
]
];
$result = ArrayToXml::convert($array);
$array = [
'Good guy' => [
'_attributes' => ['attr1' => 'value' ],
'name' => 'Luke Skywalker' ,
'weapon' => 'Lightsaber'
],
'Bad guy' => [
'name' => 'Sauron' ,
'weapon' => 'Evil Eye'
],
'The survivor' => [
'_attributes' => ['house' =>'Hogwarts' ],
'_value' => 'Harry Potter'
]
];
$result = ArrayToXml::convert($array);
$array = [
'Good guy' => [
'name' => [
'_cdata' => '<h1>Luke Skywalker</h1>'
],
'weapon' => 'Lightsaber'
],
'Bad guy' => [
'name' => '<h1>Sauron</h1>' ,
'weapon' => 'Evil Eye'
]
];
$result = ArrayToXml::convert($array);
$result = ArrayToXml::convert($array, [], true , 'UTF-8' , '1.1' , [], true );
$result = ArrayToXml::convert($array, [
'rootElementName' => 'helloyouluckypeople' ,
'_attributes' => [
'xmlns' => 'https://github.com/spatie/array-to-xml' ,
],
], true , 'UTF-8' );
$array = [
'Good guys' => [
'Guy' => [
['name' => 'Luke Skywalker' , 'weapon' => 'Lightsaber' ],
['name' => 'Captain America' , 'weapon' => 'Shield' ],
],
],
'Bad guys' => [
'Guy' => [
['name' => 'Sauron' , 'weapon' => 'Evil Eye' ],
['name' => 'Darth Vader' , 'weapon' => 'Lightsaber' ],
],
],
];
$users = [
[
'name' => 'one' ,
'age' => 10 ,
],
[
'name' => 'two' ,
'age' => 12 ,
],
];
$array = [
'users' => function () use ($users) {
$new_users = [];
foreach ($users as $user) {
$new_users[] = array_merge(
$user,
[
'double_age' => $user['age' ] * 2 ,
]
);
}
return $new_users;
},
];
ArrayToXml::convert($array)
$array = [
100 => [
'name' => 'Vladimir' ,
'nickname' => 'greeflas' ,
],
200 => [
'name' => 'Marina' ,
'nickname' => 'estacet' ,
],
];
$result = ArrayToXml::convert(['__numeric' => $array]);
$array = [
'__custom:custom-key:1' => [
'name' => 'Vladimir' ,
'nickname' => 'greeflas' ,
],
'__custom:custom-key:2' => [
'name' => 'Marina' ,
'nickname' => 'estacet' ,
'tags' => [
'__custom:tag:1' => 'first-tag' ,
'__custom:tag:2' => 'second-tag' ,
]
],
];
$result = ArrayToXml::convert($array);
$array = [
'__custom:ns\\:custom-key:1' => [
'name' => 'Vladimir' ,
'nickname' => 'greeflas' ,
],
'__custom:ns\\:custom-key:2' => [
'name' => 'Marina' ,
'nickname' => 'estacet' ,
'tags' => [
'__custom:ns\\:tag:1' => 'first-tag' ,
'__custom:ns\\:tag:2' => 'second-tag' ,
]
],
];
$result = ArrayToXml::convert(
$array,
$rootElement,
$replaceSpacesByUnderScoresInKeyNames,
$xmlEncoding,
$xmlVersion,
['formatOutput' => true ]
);
$arrayToXml = new ArrayToXml($array);
$arrayToXml->setDomProperties(['formatOutput' => true ]);
$result = $arrayToXml->toXml();
$array = [
'Good guy' => [
'name' => 'Luke Skywalker' ,
'weapon' => 'Lightsaber'
],
'Bad guy' => [
'name' => 'Sauron' ,
'weapon' => 'Evil Eye'
]
];
$arrayToXml = new ArrayToXml($array);
$arrayToXml->prettify()->toXml();
$arrayToXml->toXml();
$root = [
'rootElementName' => 'soap:Envelope' ,
'_attributes' => [
'xmlns:soap' => 'http://www.w3.org/2003/05/soap-envelope/' ,
],
];
$array = [
'soap:Header' => [],
'soap:Body' => [
'soap:key' => 'soap:value' ,
],
];
$arrayToXml = new ArrayToXml($array, $root);
$result = $arrayToXml->dropXmlDeclaration()->toXml();
$arrayToXml = new ArrayToXml($array);
$arrayToXml->addProcessingInstruction('xml-stylesheet' , 'type="text/xsl" href="base.xsl"' );
$result = $arrayToXml->toXml();
$result = ArrayToXml::convert($array, 'customrootname' );
$result = ArrayToXml::convert($array, 'customrootname' , false );