Еще немного уточнений.
Есть на сериализацию и соответственно десериализацию вот такой вот класс.
[XmlRoot("methodCall")]
public class Exam
{
public Exam()
{
values = new ArrayList();
}
public string methodCall;
private ArrayList values;
[XmlElement("params", typeof(Value))]
public ArrayList Settings
{
get { return values; }
set { values = value; }
}
}
public class Value
{
public Value()
{
questions = new ArrayList();
}
private ArrayList questions;
[XmlArray("param")]
[XmlArrayItem("value", typeof(Question))]
public ArrayList Values
{
get { return questions; }
set { questions = value; }
}
}
public class Question
{
public Question() { }
private int id;
private string strng;
private string[] strukt;
[System.Xml.Serialization.XmlElementAttribute("int")]
public int ID
{
get { return id; }
set { id = value; }
}
[System.Xml.Serialization.XmlElementAttribute("string")]
public string Strng
{
get { return strng; }
set { strng = value; }
}
[System.Xml.Serialization.XmlElementAttribute("strukt")]
public string[] Strukt
{
get { return strukt; }
set { strukt = value; }
}
}
при сериализации которого получается файл вида
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodCall>examples.getStateName</methodCall>
<params>
<param>
<value>
<int>123</int>
</value>
</param>
</params>
</methodCall>
при десериализации проходит все чудесно, но не могу вытащить то, что находится как ArrayList в public ArrayList Settings.
фишка с
foreach (Object obj in xmlExam.Settings)
{
MessageBox.Show(obj.ToString());
}
не проходит. Пишет что-то типа XmlWindows.Value, что вообще не понятно что и как это обрабатывать.
|