[Package] XML Document Parser for Laravel and PHP
Clone or download
Latest commit 1445da0 Sep 13, 2018

README.md

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.

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

Imagine if you can parse

<api>
    <user followers="5">
        <id>1</id>
        <email>crynobone@gmail.com</email>
    </user>
</api>

to

$user = [
    'id' => '1',
    'email' => 'crynobone@gmail.com',
    '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'],
]);

Table of Content

Version Compatibility

Laravel Parser
4.x.x 2.x.x
5.0.x 3.0.x
5.1.x 3.1.x
5.2.x 3.2.x
5.3.x 3.3.x
5.4.x 3.4.x
5.5.x 3.5.x
5.6.x 3.6.x
5.7.x 3.7.x

Installation

To install through composer, simply put the following in your composer.json file:

{
    "require": {
        "orchestra/parser": "~3.0"
    }
}

And then run composer install from the terminal.

Quick Installation

Above installation can also be simplify by using the following command:

composer require "orchestra/parser=~3.0"

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,
],