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');
/* Start to develop here. Best regards https://php-download.com/ */
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);