Как добавить атрибут в сериализованный узел XML? - PullRequest
0 голосов
/ 19 мая 2009

Предположим, у меня есть класс C #, подобный этому:

[XmlRoot("floors")]
public class FloorCollection
{
    [XmlElement("floor")]
    public Floor[] Floors { get; set; }

}

И я хочу сериализовать его и отправить в REST API с помощью WCF. Но перед отправкой мне нужно добавить атрибут к узлу этажей следующим образом: <floors type="array">...</floors>

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 19 мая 2009

Просто добавьте атрибут type в класс вашей коллекции:

[XmlRoot("floors")]
public class FloorCollection
{
    [XmlAttribute("type")]
    public string Type { get; set; }
    [XmlElement("floor")]
    public Floor[] Floors { get; set; }

}
2 голосов
/ 19 мая 2009

Если вы хотите добавить это, не зная об этом бизнес-код, вам, вероятно, придется использовать Инспекторы сообщений для изменения сообщения перед его отправкой.

...