Как я могу сериализовать этот элемент .NET Collection? - PullRequest
1 голос
/ 31 мая 2010

Я пытаюсь сериализовать XML-класс данных представления POCO в xml. Он сериализует, но неправильно генерирует некоторые xml.

например. (текущий результат .. не тот, который я ищу)

<ReviewListViewData>
    <reviews>
        <review>....</review>
        ...
    </reviews>
</ReviewListViewData>

Я пытаюсь получить (обратите внимание, как я удалил корневой узел bad ?) ...

<reviews>
    <review>....</review>
    ...
</reviews>

Класс определяется как ...

public class ReviewListViewData
{
    [XmlArray("reviews")]
    [XmlArrayItem("review")]
    public ReviewViewData[] Reviews { get; set; }
}

и вот пример того, как он вызывается в ASP.NET MVC ActionMethod: -

var reviewListViewData = GetReviewListViewData(...);
return XmlResult(reviewListViewData);  // (XmlResult referenced from MVCContrib).

У кого-нибудь есть идеи, пожалуйста?

Ответы [ 2 ]

6 голосов
/ 31 мая 2010

Попробуйте это:

[XmlRoot("reviews")]
public class ReviewListViewData
{
    [XmlElement("review")]
    public ReviewViewData[] Reviews { get; set; }
}
0 голосов
/ 31 мая 2010

Вы пытались украсить класс ReviewListViewData [XmlRoot("reviews")] вместо XmlArray?

...