Я пытаюсь десериализацией класса с именем CsoundDeserialize XML в Xamarin
public class CSound
{
public string id { get; set; }
public string name { get; set; }
public string file { get; set; }
public string fav { get; set; }
}
..from это XML
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfSounds xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CSound>
<id>1</id>
<name>SampleName1</name>
<file>SampleFileName1</file>
<fav>true</fav>
</CSound>
<CSound>
<id>2</id>
<name>SampleName2</name>
<file>SampleFileName2</file>
<fav>false</fav>
</CSound>
<CSound>
<id>3</id>
<name>SampleName3</name>
<file>SampleFileName3</file>
<fav>true</fav>
</CSound>
<CSound>
<id>4</id>
<name>SampleName4</name>
<file>SampleFileName4</file>
<fav>false</fav>
</CSound>
<CSound>
<id>5</id>
<name>SampleName5</name>
<file>SampleFileName5</file>
<fav>true</fav>
</CSound>
</ArrayOfSounds>
Т'ми пытаются десериализации используя этот раздел кода
Assembly assembly = typeof(App).GetTypeInfo().Assembly;
Stream stream = assembly.GetManifestResourceStream("SaynarSounds.Resources.XML.Sounds.xml");
List<CSound> sounds;
using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
{
XmlSerializer serializer = new XmlSerializer(typeof(List<CSound>));
sounds = (List<CSound>)serializer.Deserialize(reader);
}
if (sounds == null)
{
sounds = new List<CSound>();
}
return sounds;
Найти ресурс и начать загрузку, но при десериализации Я получаю эту ошибку:
System.InvalidOperationException: в документе XML есть ошибка.
Вы можете мне помочь?
UPDATE:
исключение бросить это сообщение
[ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: There is an error in XML document. ---> System.InvalidOperationException: was not expected 02-04 12:29:58.045 E/mono-rt (3046): at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadRoot (System.Xml.Serialization.XmlTypeMapping rootMap) [0x0005b] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReaderInterpreter.cs:182 02-04 12:29:58.045 E/mono-rt (3046): at System.Xml.Serialization.XmlSerializationReaderInterpreter.ReadRoot() [0x00028] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/System.XML/System.Xml.Serialization/XmlSerializationReaderInterpreter.cs:87 02-04 12:29:58.045 E/mono-rt (3046): at System.Xml.Serialization.XmlSerializer.Deserialize (System.Xml.Serialization.XmlSerializationReader reader) [0x0001c] in /Users/builder/data/lanes/3511/501e63ce/source/mono/mcs/class/System.XML/System.Xml.Serialization/XmlSerializer.cs:364
Но у меня нет xmlns=''
.
Исключение обычно содержит положение искажения в документе. Обычно возникают проблемы с отсутствием или отсутствием байтового байта (BOM) в содержимом UTF8 –