All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fixed
Node::xpath
method for node with child nodes
- Added optional parameter withoutRoot to
FlattenConfig
to cast node to flatten (one-dimensional) array without root element node name
- Support only PHP 8.2+
- Make
Config
interface instead of readonly class
- Added
Node::xpath
method using internally\DOMXPath
- Added option to cast node to flatten (one-dimensional) array
- Added
DefaultConfig
config class - Added
FullResponseConfig
config class - Added
FlattenConfig
config class
- Added
- Added option to create or add node from
\DOMNode
- Update readme
- Added option for
Reader
to get/iterate nodes by its xpath.
- Added support for PHP 8.2
- Added optional parameter withNamespaces to
Reader::iterateNode()
to split into XML fragments with valid namespaces
- Implement
\Arrayable
interface
- Support only PHP 8.1+
- Major refactor of all services
- Readonly
Config
without getters and setters
- Interfaces for most classes
- Factories for XML builder and XML Reader
- Publicly available
Formatter::nodeToArray
method
- Support "_" in elements name
- Added XML builder
- Fluent builder support
- Automatic (or forced) CDATA escaping
- Option to add XML fragments
- Automatic namespace usage
- XML validation with XSD schema
- Added memory efficient XML reader
- Reading XML files into Node instances
- Powerful cast to array method
- Iterate all nodes with given name