У меня есть файл XML, как этот пример:XML в C#: Десериализация
<?xml version="1.0"?>
<ArrayOfBloc xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Bloc>
<table>
<name>OM_MUSER</name>
</table>
<listColumn>
<Column>
<name>CODE_USER</name>
<value>SUPER</value>
<type>VARCHAR</type>
<pk>1</pk>
</Column>
<Column>
<name>ID_MPERSONNE</name>
<value>1</value>
<type>INT</type>
</Column>
<Column>
<name>PASSWORD_USER</name>
<value>TESTJPA</value>
<type>VARCHAR</type>
</Column>
</listColumn>
</Bloc>
<!-- ... -->
</ArrayOfBloc>
И я могу десериализацию этого с помощью этого:
class XmlManager
{
public static List<Bloc> ReadXML(string path)
{
System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(List<Bloc>));
System.IO.StreamReader file = new System.IO.StreamReader(path);
List<Bloc> listB = new List<Bloc>();
listB = (List<Bloc>)reader.Deserialize(file);
file.Close();
return listB;
}
}
public class Bloc
{
public Table table { get; set; }
public List<Column> listColumn { get; set; }
public Bloc()
{
table = new Table();
listColumn = new List<Column>();
}
}
public class Table
{
public string name { get; set; }
public List<Column> listColumn { get; set; }
public Table() { listColumn = new List<Column>(); }
}
public class Column
{
public string name { get; set; }
public string value { get; set; }
public string type { get; set; }
public int pk { get; set; }
public string defaultValue { get; set; }
public int nullable { get; set; }
public Column() { }
}
Но если я десериализация следующего примера XML с тем же C# код, он не работает, и я не знаю, почему ...
<?xml version="1.0"?>
<ArrayOfBloc xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Bloc>
<table name="OM_MUSER"/>
<listColumn>
<Column name="CODE_USER" value="SUPER" type="VARCHAR" pk="1"/>
<Column name="ID_MPERSONNE" value="1" type="INT"/>
<Column name="PASSWORD_USER" value="TESTJPA" type="VARCHAR"/>
</listColumn>
</Bloc>
<!-- ... -->
</ArrayOfBloc>
вы знаете, что требуется сделать, пожалуйста?
Большое спасибо за вашу помощь!
"Не работает" не достаточно конкретны. Добавьте либо (1) полное сообщение об ошибке, которое вы получите, и где оно выбрано, и/или (2) ожидаемый результат по сравнению с вашим наблюдаемым результатом. – Alex