Как я могу создать два элемента XML во время сериализации объекта .NET? - PullRequest
1 голос
/ 15 апреля 2009

У меня есть класс с двумя свойствами для значений max и min. Это выглядит так (иш):

public class Configuration
{
  public int Max { get; set; }
  public int Min { get; set; }
}

Когда я сериализую это, я получаю что-то вроде:

<Configuration>
  <Max>10</Max>
  <Min>0</Min>
</Configuration>

Однако мне нужен дополнительный элемент, подобный этому:

<Configuration>
  <Bounds>
    <Max>10</Max>
    <Min>0</Min>
  </Bounds>
</Configuration>

1 Ответ

3 голосов
/ 15 апреля 2009

Для этого вам также потребуется добавить дополнительный слой в объектную модель. XmlSerializer нравится, что xml (приблизительно) является прямой картой для объектов:

[Serializable]
public class Configuration {
    public Bounds Bounds { get; set; }
}
[Serializable]
public class Bounds {
    public int Min {get;set;}
    public int Max {get;set;}
}

Единственный другой вариант - реализовать IXmlSerializable, но вы действительно не хотите этого делать, если у абсолютно нет выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...