orchestra/parser

XML Document Parser for Laravel and PHP

Maintainers

Details

github.com/orchestral/parser

Source

Fund package maintenance!
Liberapay
paypal.me/crynobone

Installs: 976 644

Dependents: 4

Suggesters: 0

Security: 0

Stars: 414

Watchers: 21

Forks: 45

v7.0.1 2022-02-26 22:04 UTC

README

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>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'],
]);

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