parser icon indicating copy to clipboard operation
parser copied to clipboard

[Package] XML Document Parser for Laravel and PHP

XML Document Parser for Laravel and PHP

Parser Component is a framework agnostic package that provide a simple way to parse XML to array without having to write a complex logic.

tests Latest Stable Version Total Downloads Latest Unstable Version License Coverage Status

Imagine if you can parse

<api>
    <user followers="5">
        <id>1</id>
        <email>[email protected]</email>
    </user>
</api>

to

$user = [
    'id' => '1',
    'email' => '[email protected]',
    'followers' => '5'
];

by just writing this:

use Orchestra\Parser\Xml\Facade as XmlParser;

$xml = XmlParser::load('path/to/above.xml');
$user = $xml->parse([
    'id' => ['uses' => 'user.id'],
    'email' => ['uses' => 'user.email'],
    'followers' => ['uses' => 'user::followers'],
]);

Version Compatibility

Laravel Parser
5.5.x 3.5.x
5.6.x 3.6.x
5.7.x 3.7.x
5.8.x 3.8.x
6.x 4.x
7.x 5.x
8.x 6.x
9.x 7.x

Installation

To install through composer, run the following command from terminal:

composer require "orchestra/parser"

Configuration

Next add the service provider in config/app.php.

'providers' => [

    // ...

    Orchestra\Parser\XmlServiceProvider::class,
],

Aliases

You might want to add Orchestra\Parser\Xml\Facade to class aliases in config/app.php:

'aliases' => [

    // ...

    'XmlParser' => Orchestra\Parser\Xml\Facade::class,
],