Приветствую. Такая проблема: есть класс, представляющий узел дерева, хранящий в себе массив со своими потомками.
[Serializable]
public class DlgString
{
int ID;
[XmlAttribute]
public int id {
get { return ID; }
set { ID = value; }
}
String TEXT;
public String text {
get { return TEXT; }
set {
TEXT = value;
node.Text = value;
}
}
short TYPE;
[XmlAttribute]
public short type {
get { return TYPE; }
set { TYPE = value; }
}
public ArrayList child;
[XmlIgnore]
public TreeNode node;
public DlgString()
{
child = new ArrayList();
}
//прочие методы
}
Мне всё это дерево надо сохранить, а потом загрузить обратно. Я его сериализую и выходит такой XML, к примеру.
<?xml version="1.0" encoding="utf-8"?>
<DlgString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" id="0" type="0">
<child>
<anyType xsi:type="DlgString" id="0" type="0">
<child />
<text>-----</text>
</anyType>
<anyType xsi:type="DlgString" id="0" type="0">
<child />
<text>-----</text>
</anyType>
</child>
<text>-----</text>
</DlgString>
Всё вроди замечательно, но при десериализации, сериалайзер мне говорит, что в документе XML присутствует ошибка. Место выделено болдом. Это всегда тег закрытия описания первого крайнего листа. В чём может быть причина?