Skip to content

Anydataset Xml abstraction. Anydataset is an agnostic data source abstraction layer in PHP

License

Notifications You must be signed in to change notification settings

byjg/php-anydataset-xml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AnyDataset-Xml

Sponsor Build Status Opensource ByJG GitHub source GitHub license GitHub release

XML abstraction dataset for the AnyDataset library. AnyDataset is an agnostic data source abstraction layer in PHP.

Features

  • Simple XML Processing: Process XML data with a clean, consistent API
  • XPath Support: Use XPath expressions to select nodes and attributes
  • Namespace Support: Full support for XML namespaces
  • Repeated Node Handling: Automatically handles repeated nodes by returning arrays
  • Custom Field Processing: Define custom field mappings with closures/callbacks
  • Flexible Input: Accept XML as string, DOMDocument, XmlNode, or File object
  • AnyDataset Integration: Compatible with the AnyDataset abstraction layer

Documentation

Installation

composer require "byjg/anydataset-xml"

Quick Example

<?php $xml = file_get_contents('example.xml'); $dataset = new \ByJG\AnyDataset\Xml\XmlDataset( $xml, // The XML string, can also be an XmlNode, DOMDocument, or File object "book", // The node that represents a row [ "category" => "@category", "title" => "title", "lang" => "title/@lang", "lang2" => function ($row) { return substr($row->get('lang'), 0, 2); } ] // Mapping columns ); $iterator = $dataset->getIterator(); foreach ($iterator as $row) { echo $row->get('category'); // Print COOKING, CHILDREN, WEB echo $row->get('title'); // Print Everyday Italian, Harry Potter, Learning XML echo $row->get('lang'); // Print en-US, de-DE, pt-BR echo $row->get('lang2'); // Print en, de, pt }

Dependencies

flowchart TD byjg/anydataset-xml --> byjg/anydataset byjg/anydataset-xml --> ext-dom 
Loading

Running the Unit Tests

vendor/bin/phpunit

Open source ByJG

About

Anydataset Xml abstraction. Anydataset is an agnostic data source abstraction layer in PHP

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages