* * * * * */ final class VoucherPaymentMethodsParser extends AbstractParser { /** * @return list */ public function parse(Crawler $node): array { $paymentMethods = []; $node->filterXPath('//zahlungsarten/zahlungsart')->each(function (Crawler $methodNode) use (&$paymentMethods): void { $paymentMethods[] = new VoucherPaymentMethod( id: (int) $this->getRequiredAttrValue($methodNode, 'id', 'voucher payment method'), label: $this->getRequiredAttrValue($methodNode, 'bezeichnung', 'voucher payment method'), type: $this->getRequiredAttrValue($methodNode, 'art', 'voucher payment method'), ); }); return $paymentMethods; } }