XML Нумери c Ссылки на символы в десериализации - PullRequest
0 голосов
/ 04 мая 2020

Мне нужно десериализовать ответ XML от внешнего сервиса, содержащего более 100 000 строк, но у меня есть проблема с неискажением числовых c ссылок на символы в разных местах. Поскольку DOM сложен, мне нужно глобальное решение, которое применяется ко всему документу, а не к его конкретным c элементам. У меня следующие ситуации:

 <text>First &amp;#38; Second</text>

Я использую следующую реализацию XmlSerializer:

public T DeserializeXmlReader<T>(string path) where T : class
{
    XmlSerializer serializer = new XmlSerializer(typeof(T));
    using (FileStream fileStream = new FileStream(path, FileMode.Open))
    {
        using (XmlReader xmlReader = XmlReader.Create(fileStream))
        {
            return (T)serializer.Deserialize(xmlReader);
        }
    }
}

После десериализации я получу следующий результат: «Первый и второй» вместо « Первая секунда". Я не уверен, есть ли какой-то дополнительный шаг, который мне нужно предпринять, чтобы правильно десериализовать «&»?

Примечание: После некоторых исследований я считаю, что проблема может быть похожа на эту, но я ' я не уверен, применимо ли это, поскольку это касается php: Как десериализовать строку xml вместе с удалением NCR?

...