Files
myep/src/BusProNet/XmlParser/ProductsParser.php
T

32 lines
866 B
PHP

<?php
namespace App\BusProNet\XmlParser;
use App\BusProNet\Model\BaseData;
use App\BusProNet\Model\Product;
use Symfony\Component\DomCrawler\Crawler;
class ProductsParser extends AbstractParser
{
public function parse(Crawler $result): BaseData
{
$products = [];
$result
->filterXPath('//produkte/produkt')
->each(function (Crawler $node) use (&$products) {
if (false === empty($node->attr('code'))) {
$product = new Product();
$product->id = (int) $node->attr('id');
$product->code = (string) $node->attr('code');
$product->name = (string) $node->attr('bezeichnung');
$products[$product->id] = $product;
}
})
;
return new BaseData($products);
}
}