Ваш анализ кажется правильным.Исходя из имеющихся данных, я могу сделать вывод, что программное обеспечение вашего конечного пользователя неправильно обрабатывает данные, например, путем извлечения XML-текста (неэкранированного, если вы понимаете, что я имею в виду) из сообщения SOAP (а не текстового содержимогодокумент) и пытается разобрать его, или использовать на каком-то этапе что-то отличное от анализатора XML.
Возможно, вы могли бы убедиться, что ваша система и ее системы правильно обрабатывают, например, простой текст, такой как In order to write a literal "&" in XML, HTML, or SGML text one writes "&" instead
.
(Я слегка обеспокоен тем, что вы описали юнит-тест как «двунаправленный» текст, так как это наводит на мысль об опасном подходе к проблеме. Если вы дважды «удалите» строку <root><node>This &amp; that</node></root>
, результат будетлибо ошибка, либо строка <root><node>This & that</node></root>
, которая не является ни правильно сформированным XML, ни чем-либо еще, что вам, вероятно, нужно.)