1. Go to this page and download the library: Download aaronddm/xml-builder 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/ */
aaronddm / xml-builder example snippets
aronDDM\XMLBuilder\XMLBuilder;
use AaronDDM\XMLBuilder\Writer\XMLWriterService;
use AaronDDM\XMLBuilder\Exception\XMLArrayException;
$xmlWriterService = new XMLWriterService();
$xmlBuilder = new XMLBuilder($xmlWriterService);
try {
$xmlBuilder
->createXMLArray()
->start('Root')
->addCData('1 First Child First Element', 'This is a test')
->add('First Child Second Element', false)
->start('Second Parent')
->add('Second child 1', null, ['myAttr' => 'Attr Value'])
->add('Second child 2', false)
->start('Third Parent')
->add('Child')
->end()
->end()
->add('First Child Third Element')
->end();
var_dump($xmlBuilder->getXML());
} catch (XMLArrayException $e) {
var_dump('An exception occurred: ' . $e->getMessage());
}
aronDDM\XMLBuilder\XMLBuilder;
use AaronDDM\XMLBuilder\Writer\XMLWriterService;
$xmlWriter = new \XMLWriter();
$xmlWriter->openMemory();
$xmlWriter->setIndent(true);
$xmlWriter->setIndentString(' ');
$xmlWriter->startDocument('1.0', 'UTF-8');
$xmlWriter->writeDtd('html', '-//W3C//DTD XHTML 1.0 Transitional//EN', 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd');
$xmlWriterService = new XMLWriterService($xmlWriter);
$xmlBuilder = new XMLBuilder($xmlWriterService);
try {
$xmlBuilder
->createXMLArray()
->start('Root')
->addCData('1 First Child First Element', 'This is a test')
->add('First Child Second Element', false)
->start('Second Parent')
->add('Second child 1', null, ['myAttr' => 'Attr Value'])
->add('Second child 2', false)
->start('Third Parent')
->add('Child')
->end()
->end()
->add('First Child Third Element')
->end();
var_dump($xmlBuilder->getXML());
} catch (XMLArrayException $e) {
var_dump('An exception occurred: ' . $e->getMessage());
}
AaronDDM\XMLBuilder\XMLArray;
use AaronDDM\XMLBuilder\XMLBuilder;
use AaronDDM\XMLBuilder\Writer\XMLWriterService;
$users = [
[
'name' => 'John Doe',
'age' => 32
],
[
'name' => 'Jane Doe',
'age' => 98
]
];
$xmlWriterService = new XMLWriterService();
$xmlBuilder = new XMLBuilder($xmlWriterService);
$xmlBuilder
->createXMLArray()
->start('Root')
->startLoop('Users', [], function (XMLArray $XMLArray) use ($users) {
foreach ($users as $user) {
$XMLArray->start('User')
->add('name', $user['name'])
->add('age', $user['age']);
}
})
->end()
->end();
var_dump($xmlBuilder->getXML());
AaronDDM\XMLBuilder\XMLArray;
use AaronDDM\XMLBuilder\XMLBuilder;
use AaronDDM\XMLBuilder\Writer\XMLWriterService;
$users = [
[
'name' => 'John Doe',
'age' => 32
],
[
'name' => 'Jane Doe',
'age' => 98
]
];
$xmlWriterService = new XMLWriterService();
$xmlBuilder = new XMLBuilder($xmlWriterService);
$xmlBuilder
->createXMLArray()
->start('Root')
->loop(function (XMLArray $XMLArray) use ($users) {
foreach ($users as $user) {
$XMLArray->start('User')
->add('name', $user['name'])
->add('age', $user['age']);
}
})
->end();
var_dump($xmlBuilder->getXML());
aronDDM\XMLBuilder\XMLElementData;
use AaronDDM\XMLBuilder\XMLBuilder;
use AaronDDM\XMLBuilder\Writer\XMLWriterService;
use AaronDDM\XMLBuilder\Exception\XMLArrayException;
/**
* Class MyXMLElementData
*/
class MyXMLElementData extends XMLElementData
{
/**
* @return mixed
*/
public function getValue()
{
$type = $this->getType();
$value = $this->value;
if(is_bool($value)) {
$type = 'boolean';
}
switch($type) {
case 'specialType':
$value = 'Special Type Value';
break;
case 'boolean':
$value = ($value) ? 'True' : 'False';
break;
}
return $value;
}
}
$xmlWriterService = new XMLWriterService();
$xmlBuilder = new XMLBuilder($xmlWriterService);
$xmlBuilder->setElementDataClass(MyXMLElementData::class);
try {
$xmlBuilder
->createXMLArray()
->start('Root')
->addCData('1 First Child First Element', 'This is a test')
->add('First Child Second Element', false)
->start('Second Parent')
->add('Second child 1', null, ['myAttr' => 'Attr Value'])
->add('Second child 2', false)
->start('Third Parent')
->add('Child')
->add('Special Type Child', "1", [], 'specialType')
->end()
->end()
->add('First Child Third Element')
->end();
var_dump($xmlBuilder->getXML());
} catch (XMLArrayException $e) {
var_dump('An exception occurred: ' . $e->getMessage());
}