diff --git a/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php b/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php index d1f09f6eaf94e..460a6998c57ce 100644 --- a/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php +++ b/src/Symfony/Component/Serializer/Encoder/XmlEncoder.php @@ -30,15 +30,18 @@ class XmlEncoder extends SerializerAwareEncoder implements EncoderInterface, Dec private $format; private $context; private $rootNodeName = 'response'; + private $loadOptions; /** * Construct new XmlEncoder and allow to change the root node element name. * - * @param string $rootNodeName + * @param string $rootNodeName + * @param int|null $loadOptions A bit field of LIBXML_* constants */ - public function __construct($rootNodeName = 'response') + public function __construct($rootNodeName = 'response', $loadOptions = null) { $this->rootNodeName = $rootNodeName; + $this->loadOptions = null !== $loadOptions ? $loadOptions : LIBXML_NONET | LIBXML_NOBLANKS; } /** @@ -81,7 +84,7 @@ public function decode($data, $format, array $context = array()) libxml_clear_errors(); $dom = new \DOMDocument(); - $dom->loadXML($data, LIBXML_NONET | LIBXML_NOBLANKS); + $dom->loadXML($data, $this->loadOptions); libxml_use_internal_errors($internalErrors); libxml_disable_entity_loader($disableEntities);
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: