Реализация IXmlSerializable на объекте коллекции

У меня есть XML-файл, который выглядит примерно так:


  <a>value</a>
  value
  
    
      value
      value 
    
  

И у меня есть два объекта, представляющих этот XML:

class XmlObject
{
  public string A { get; set; }
  public string B { get; set; }
  List listitems { get; set; }
}

class Item : IXmlSerializable
{
  public string C { get; set; }
  public string D { get; set; }

  //Implemented IXmlSerializeable read/write
  public void ReadXml(System.Xml.XmlReader reader)
  {
    this.C = reader.ReadElementString();
    this.D = reader.ReadElementString();
  }
  public void WriteXml(System.Xml.XmlWriter writer)
  {
    writer.WriteElementString("C", this.C);
    writer.WriteElementString("D", this.D);
  }
}

Я использую XmlSerializer для сериализации / десериализации XmlObject в файл.

Проблема в том, что когда я реализовал пользовательские функции IXmlSerializable на моем "субобъект» Элемент Я всегда получаю только один элемент (первый) в моей коллекции XmlObject.listitems при десериализации файла. Если я удаляю: IXmlSerializable все работает как положено.

Что я делаю не так?

Изменить: я реализовал IXmlSerializable.GetSchema, и мне нужно использовать IXmlSerializable на моем "ребенок-объект» для выполнения некоторых пользовательских преобразований значений.

Ответы на вопрос(2)

Ваш ответ на вопрос