XML Wrangler был создан с учетом опыта разработчика - вы можете читать XML-файлы любого типа, даже со сложными пространствами имен и даже с большими XML-файлами. Он также будет выдавать исключения, если XML недействителен!
XML Wrangler - это упрощенная библиотека PHP, разработанная для упрощения чтения и записи XML. Используя знакомые Laravel-подобные методы, этот пакет не зависит от фреймворка и может быть использован в любом PHP-проекте (>=v8.1
). XML Wrangler наполнен функциями, которые делают работу с XML гораздо более приятной, чем с готовым PHP:
- Точечная нотация: Использование точечной нотации для запроса XML-документа
- Низкое использование памяти: XML Wrangler может работать с чтением больших XML-файлов
-
Laravel-подобные: методы, которые вы можете использовать, такие как
sole
, ,first
, ,firstOrFail
collect
и т. д. - Ленивые методы: чтение массивных XML-файлов и циклический перебор каждого узла в цикле
- Генерация XML: Запись XML с использованием массивов
- XML Parsing: Предоставляет функциональные возможности для синтаксического анализа XML-документов.
-
DTO:
Element
используйте элемент DTO для определения атрибутов и пространств имен - Обработка ошибок: Имеет правильную обработку ошибок, в отличие от SimpleXML
- XPath Queries: Поддерживает XPath-запросы для извлечения данных из XML.
- Редактирование и манипуляция: позволяет изменять XML-данные и манипулировать ими.
- Простой API: предлагает простой API для работы с XML.
- Поддержка пространств имен: обрабатывает пространства имен XML.
Вы захотите ознакомиться с readme , чтобы узнать обо всем, что вы можете сделать с этим пакетом, но вот пример чтения 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']
Чтобы начать работу с этим пакетом, вы можете получить полные инструкции по установке и использованию на GitHub по адресу saloonphp/xml-wrangler на GitHub.