PHPackages                             orchestra/parser - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Parsing &amp; Serialization](/categories/parsing)
4. /
5. orchestra/parser

ActiveLibrary[Parsing &amp; Serialization](/categories/parsing)

orchestra/parser
================

XML Document Parser for Laravel and PHP

v10.0.0(1y ago)4581.7M—4.1%484MITPHPPHP ^8.2CI passing

Since May 30Pushed 1y ago17 watchersCompare

[ Source](https://github.com/orchestral/parser)[ Packagist](https://packagist.org/packages/orchestra/parser)[ Fund](https://paypal.me/crynobone)[ Fund](https://liberapay.com/crynobone)[ RSS](/packages/orchestra-parser/feed)WikiDiscussions 10.x Synced 1mo ago

READMEChangelog (10)Dependencies (6)Versions (41)Used By (4)

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](https://github.com/orchestral/parser/actions/workflows/tests.yml/badge.svg?branch=9.x)](https://github.com/orchestral/parser/actions/workflows/tests.yml)[![Latest Stable Version](https://camo.githubusercontent.com/2027f7f33147ba8249c7f9bda6951970bd9ed5b40eacc597769258fe5666ef87/68747470733a2f2f706f7365722e707567782e6f72672f6f72636865737472612f7061727365722f76657273696f6e)](https://packagist.org/packages/orchestra/parser)[![Total Downloads](https://camo.githubusercontent.com/7816973c97c7206636724639355e7a971dba1af09509336900151cd7ee2ff262/68747470733a2f2f706f7365722e707567782e6f72672f6f72636865737472612f7061727365722f646f776e6c6f616473)](https://packagist.org/packages/orchestra/parser)[![Latest Unstable Version](https://camo.githubusercontent.com/79ab817e8e723a6d4ff882125a1d3b583d9cb6f74ad562d8d4838f225ccdd72d/68747470733a2f2f706f7365722e707567782e6f72672f6f72636865737472612f7061727365722f762f756e737461626c65)](//packagist.org/packages/orchestra/parser)[![License](https://camo.githubusercontent.com/389dd5adf7e35d2497ce7688495087aa1c4d53308eb56a977a4fe4e6b3906c14/68747470733a2f2f706f7365722e707567782e6f72672f6f72636865737472612f7061727365722f6c6963656e7365)](https://packagist.org/packages/orchestra/parser)[![Coverage Status](https://camo.githubusercontent.com/2c1fca7e9983e3d9c4015eaad842142257a24dc4fa53de1fea6f47802151f913/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6f72636865737472616c2f7061727365722f62616467652e7376673f6272616e63683d382e78)](https://coveralls.io/github/orchestral/parser?branch=8.x)

Imagine if you can parse

```

        1
        crynobone@gmail.com

```

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

[](#version-compatibility)

LaravelParser6.x4.x7.x5.x8.x6.x9.x7.x10.x8.x11.x9.x12.x10.xInstallation
------------

[](#installation)

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

```
composer require "orchestra/parser"

```

Configuration
-------------

[](#configuration)

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

```
'providers' => [

    // ...

    Orchestra\Parser\XmlServiceProvider::class,
],
```

### Aliases

[](#aliases)

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

```
'aliases' => [

    // ...

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

###  Health Score

60

—

FairBetter than 99% of packages

Maintenance44

Moderate activity, may be stable

Popularity60

Solid adoption and visibility

Community28

Small or concentrated contributor base

Maturity88

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 98.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~98 days

Recently: every ~116 days

Total

41

Last Release

444d ago

Major Versions

5.x-dev → v6.0.02020-09-12

6.x-dev → v7.0.02022-02-08

7.x-dev → v8.0.02023-02-15

8.x-dev → v9.0.02024-03-26

9.x-dev → 10.x-dev2025-03-01

PHP version history (11 changes)v2.1.0PHP &gt;=5.3.3

v2.2.0PHP &gt;=5.4.0

v3.1.1PHP &gt;=5.5.0

v3.3.0PHP &gt;=5.6.0

v3.5.0PHP &gt;=7.0

v3.6.0PHP &gt;=7.1

v4.0.0PHP &gt;=7.2

v6.0.0PHP &gt;=7.3

v6.1.0PHP ^7.3 || ^8.0

v7.0.0PHP ^8.0

v9.0.0PHP ^8.2

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/172966?v=4)[Mior Muhammad Zaki](/maintainers/crynobone)[@crynobone](https://github.com/crynobone)

---

Top Contributors

[![crynobone](https://avatars.githubusercontent.com/u/172966?v=4)](https://github.com/crynobone "crynobone (351 commits)")[![jochensengier](https://avatars.githubusercontent.com/u/10118729?v=4)](https://github.com/jochensengier "jochensengier (2 commits)")[![ryangjchandler](https://avatars.githubusercontent.com/u/41837763?v=4)](https://github.com/ryangjchandler "ryangjchandler (1 commits)")[![ziming](https://avatars.githubusercontent.com/u/679513?v=4)](https://github.com/ziming "ziming (1 commits)")

---

Tags

laravelphpxml-parsinglaravelxmlparserorchestra-platformorchestral

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/orchestra-parser/health.svg)

```
[![Health](https://phpackages.com/badges/orchestra-parser/health.svg)](https://phpackages.com/packages/orchestra-parser)
```

###  Alternatives

[tucker-eric/laravel-xml-middleware

A Laravel Middleware to accept XML requests

181.2M](/packages/tucker-eric-laravel-xml-middleware)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
