verdant/xml2array

This package is abandoned and no longer maintained. No replacement package was suggested.

Convert from XML to array, array to XML, based on libs from lalit.org

Installs: 112 956

Dependents: 4

Suggesters: 0

Security: 0

Stars: 10

Watchers: 2

Forks: 23

dev-master 2015-04-23 03:08 UTC

This package is not auto-updated.

Last update: 2021-07-13 17:24:37 UTC


README

Convert XML to an array representation, and then convert back to XML again.

Drop-in replacement for Lalit.org's XML2Array and Array2XML classes, based on their work.

  • Configurable to use different special array keys for attributes/cdata/value
  • Configurable to preserve tag and attribute namespaces
  • Array to XML conversion automatically uses the root array element as the root XML node, if only one element exists at the top-level in the array

Usage Examples

Basic usage

$array = XML2Array::createArray($xml);
$xml = Array2XML::createXML($array);

Note that there's no need to specify the 'rootNode' parameter from the previous implementation. If the array contains a single root item, that will automatically be used as the root node.

Drop-in replacement

Of course, if you need a drop-in replacement, the old syntax works as before.

$array = XML2Array::createArray($xml);
$xml = Array2XML::createXML('rootNode', $array);

Preserve namespaces

$config = array(
    'useNamespaces' => true,
);
$array = XML2Array::createArray($xml, $config);

Use JSON-friendly special keys

$config = array(
    'attributesKey' => '$attributes',
    'cdataKey'      => '$cdata',
    'valueKey'      => '$value',
);
$array = XML2Array::createArray($xml, $config);
$xml = Array2XML::createXML($array, $config);

Further Reading

Original XML2Array and Array2XML libraries from Lalit.org