Проще говоря, ввод "XML" не является допустимым XML. Сущность должна быть закодирована, т.е.
<Line1>Day & Night</Line1>
По сути, нет "правильного" способа исправить это, кроме как сообщить поставщику XML, что он дает вам мусор, и получить их , чтобы это исправить. Если вы попали в ужасную ситуацию, в которой вам только что пришлось с этим справиться, то ваш подход, скорее всего, будет зависеть от того, какой диапазон значений вы ожидаете получить.
Если в документе вообще нет сущностей, регулярное выражение заменит &
на &
перед обработкой. Но если они отправляют некоторые объекты правильно, вам нужно исключить их из соответствия. И в редком случае, когда они действительно захотят отправить код сущности (то есть отправил &
, но означал &amp;
), вам совершенно не повезет.
Но, эй, в любом случае это ошибка поставщика, и если ваша попытка исправить неверный ввод не совсем то, что они хотели, есть простая вещь, которую они могут сделать, чтобы решить эту проблему. : -)