XML Wrangler has been built with developer experience in mind - you can read any type of XML file, even with complex namespaces and even large XML files. It will also throw exceptions if the XML is invalid!
XML Wrangler is a simplistic PHP library designed to make
reading and writing XML easy. Using familiar Laravel-like methods,
this package is framework-agnostic and can be used in any PHP
>=v8.1). XML Wrangler is jam-packed with
features that make working with XML much more enjoyable than the
out-of-the-box PHP experience:
- Dot Notation: Using dot-notation to query an XML document
- Low memory usage: XML Wrangler can handle reading large XML files
- Laravel-like: methods that you can use like
- Lazy methods: Read massive XML files and loop over each node in a loop
- XML Generation: Write XML using arrays
- XML Parsing: Provides functionality to parse XML documents.
- DTOs: Use the
ElementDTO element to define attributes and namespaces
- Error Handling: It has proper error handling unlike SimpleXML
- XPath Queries: Supports XPath queries to extract data from XML.
- Editing and Manipulation: Enables the modification and manipulation of XML data.
- Simple API: Offers a straightforward API for working with XML.
- Namespace Support: Handles XML namespaces.
You will want to check out the readme to learn about everything you can do with this package, but here's an example of reading XML:
<?php use Saloon\XmlWrangler\XmlReader; $reader = XmlReader::fromString($xml); // Retrieve all values as one simple array $reader->values(); // ['breakfast_menu' => [['name' => '...'], ['name' => '...'], ...] // Use dot-notation to find a specific element $reader->value('food.0')->sole(); // ['name' => 'Belgian Waffles', 'price' => '$5.95', ...] // Use the element method to get a simple Element DTO containing attributes and content $reader->element('food.0')->sole(); // Element::class // Use XPath to query the XML $reader->xpathValue('//food[@bestSeller="true"]/name')->get(); // ['Belgian Waffles', 'Berry-Berry Belgian Waffles']
To get started with this package, you can get full installation and usage instructions on GitHub at saloonphp/xml-wrangler on GitHub.
Join the Laravel Newsletter to get all the latest Laravel articles like this directly in your inbox.