Проблема с XmlReader
От: _agg  
Дата: 07.04.20 03:21
Оценка:
Всем привет, возникла проблема чтения с помощью XmlReader, метод из DLL возвращает XML вот такого вида:
<result>
<command>OpenShift</command>
<parameters params="1">
<p1 type="string">&LT;errorCode&GT;115&LT;/errorCode&GT;&LT;description&GT;openShift возвратил 115. Команда не поддерживается в данном режиме
Открытая смена; 24 часа кончились&LT;/description&GT;</p1>
</parameters>
</result>

Во время парсинга XML когда парсер доходит до значения начинающегося с "&LT;errorCode&GT;115&LT;" возникает исключение с вот таким сообщением:
"Ссылка на необъявленный объект подстановки "LT"., строка 1, позиция 79."

Всячески перепробовал XmlReader настроить типа:
 public bool ParseCall(string in_xml, ref CALL call, ref string error_message)
        {
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.DtdProcessing = DtdProcessing.Ignore;
            settings.ValidationType = ValidationType.None;
            settings.ValidationFlags = System.Xml.Schema.XmlSchemaValidationFlags.None;
            settings.CheckCharacters = false;
            XmlReader xmlReader = XmlReader.Create(new StringReader(in_xml), settings);
...

Но это к сожалению не помогает. Этой же библиотекой пользуется и ПО написанное на C++ с использованием IXmlReader и там такого эффекта не возникает.

Подскажите пожалуйста кто знает/сталкивался с подобным и как такое решить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.