Есть ли у вас возможность переключения для использования типа данных XML
? Он хранит данные в двоичном формате и предоставляет результаты XML
как экземпляр XmlReader
. Вы анализируете данные, когда читаете их из базы данных, но если вы используете столбец XML
, они уже будут проанализированы.
А пока попробуйте что-то вроде этого:
string s;
using (SqlConnection conn = new SqlConnection(""))
{
using (SqlCommand cmd = new SqlCommand("", conn))
{
s = (string) cmd.ExecuteScalar();
}
}
using (StringReader sr = new StringReader(s))
{
using (XmlReader reader = XmlReader.Create(sr))
{
DataContractSerializer deserializer =
new DataContractSerializer(typeToDeserialize);
return deserializer.ReadObject(reader);
}
}
- Не используйте
XmlTextReader
больше.
- Зачем преобразовывать строку в байты и обратно в строку?