XmlToArrayConverter.php 767 B

1234567891011121314151617181920212223242526272829
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. declare(strict_types=1);
  7. namespace Magento\Payment\Gateway\ErrorMapper;
  8. use Magento\Framework\Config\ConverterInterface;
  9. /**
  10. * Reads xml in `<message code="code">message</message>` format and converts it to [code => message] array format.
  11. */
  12. class XmlToArrayConverter implements ConverterInterface
  13. {
  14. /**
  15. * @inheritdoc
  16. */
  17. public function convert($source)
  18. {
  19. $result = [];
  20. $messageList = $source->getElementsByTagName('message');
  21. foreach ($messageList as $messageNode) {
  22. $result[(string) $messageNode->getAttribute('code')] = (string) $messageNode->nodeValue;
  23. }
  24. return $result;
  25. }
  26. }