Skip to content

Koc/xml-iterator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XmlIterator

Fast and memory efficient XML iterator based on XmlReader.

Build Status

Installation

Run

$ composer require brouzie/xml-iterator

Usage

<?php

require_once 'vendor/autoload.php';

$iterator = \Brouzie\XmlIterator\XmlIterator::fromUri('path/to/file.xml', '/my/xpath');

try {
    $iterator->rewind();
} catch (\Brouzie\XmlIterator\Exception\FileParseError $error) {
    var_dump($error->getMessage(), $error->getContext()->getLine(), $error->getContext()->getColumn());
}

while ($iterator->hasNextItem()) {
    try {
        $item = $iterator->getNextItem();
        
        var_dump(
            $item->getXml(), // \SimpleXmlElement
            $item->getContext(),
            $item->getLine(),
            $item->getColumn()
        );
    } catch (\Brouzie\XmlIterator\Exception\LineParseError $error) {
        if ($error->getContext()) {
            var_dump($error->getMessage(), $error->getContext()->getLine(), $error->getContext()->getColumn());
        } else {
            var_dump($error->getMessage());
        }
    }    
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages