Неправильный XML файл - Сериализация и десериализация класса - C#
Формулировка задачи:
У меня есть сериализация и десериализация класса. При десериализации вылезает исключение
Необработанное исключение типа "System.InvalidOperationException" в System.Xml.dll
Дополнительные сведения: There is an error in XML document (2, 2).
Что может быть не так?
public Products ReadFromFile()
{
string line;
System.IO.StreamReader file = new System.IO.StreamReader(@"H:\Информатика\ООП\XML.xml");
System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(Product));
return (Products)reader.Deserialize(file);
}<?xml version="1.0" encoding="utf-8"?>
<Products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<order>
<Product>
<productname>Product1</productname>
<price>0</price>
<quantity>0</quantity>
<weight>0</weight>
<dimensions>0</dimensions>
</Product>
<Product>
<productname>Product2</productname>
<price>0</price>
<quantity>0</quantity>
<weight>0</weight>
<dimensions>0</dimensions>
</Product>
</Products>
Решение задачи: «Неправильный XML файл - Сериализация и десериализация класса»
textual
Листинг программы
public class XMLHelper
{
public static T Deserialize<T>(string strXML, Encoding encoding = null) where T:class
{
if (encoding == null)
encoding = Encoding.Unicode;
XmlSerializer ser = new XmlSerializer(typeof(T));
XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, string.Empty);
StringReader reader = new StringReader(strXML);
T temp = null;
try
{
temp = (T)(ser.Deserialize(reader));
}
catch (Exception)
{
throw new Exception("Ошибка при создании настроек XML: ошибка десериализации");
}
reader.Close();
return temp;
}
}