Skip to content

Commit 31af010

Browse files
authored
ENGCOM-3929: [Backport] fix(Webapi Xml Renderer - 18361): removed the not needed ampersand re… #18362
2 parents f1e6e85 + 236dc0c commit 31af010

File tree

2 files changed

+9
-2
lines changed
  • lib/internal/Magento/Framework/Webapi

2 files changed

+9
-2
lines changed

lib/internal/Magento/Framework/Webapi/Rest/Response/Renderer/Xml.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
*/
88
namespace Magento\Framework\Webapi\Rest\Response\Renderer;
99

10+
/**
11+
* Renders response data in Xml format.
12+
*/
1013
class Xml implements \Magento\Framework\Webapi\Rest\Response\RendererInterface
1114
{
1215
/**
@@ -111,8 +114,7 @@ protected function _formatValue($value)
111114
/** Without the following transformation boolean values are rendered incorrectly */
112115
$value = $value ? 'true' : 'false';
113116
}
114-
$replacementMap = ['&' => '&'];
115-
return str_replace(array_keys($replacementMap), array_values($replacementMap), $value);
117+
return (string) $value;
116118
}
117119

118120
/**

lib/internal/Magento/Framework/Webapi/Test/Unit/Rest/Response/Renderer/XmlTest.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ public function providerXmlRender()
7676
'<?xml version="1.0"?><response><item_7key>value</item_7key></response>',
7777
'Invalid XML render with numeric symbol in data index.'
7878
],
79+
[
80+
['key' => 'test & foo'],
81+
'<?xml version="1.0"?><response><key>test &amp; foo</key></response>',
82+
'Invalid XML render with ampersand symbol in data index.'
83+
],
7984
[
8085
['.key' => 'value'],
8186
'<?xml version="1.0"?><response><item_key>value</item_key></response>',

0 commit comments

Comments
 (0)