Проблема с десериализацией
От: Zomb  
Дата: 19.02.10 19:24
Оценка:
Приветствую. Такая проблема: есть класс, представляющий узел дерева, хранящий в себе массив со своими потомками.
    [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 присутствует ошибка. Место выделено болдом. Это всегда тег закрытия описания первого крайнего листа. В чём может быть причина?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.