【发布时间】:2010-06-21 20:07:07
【问题描述】:
我正在尝试使用 .NET 4.0 和 WCF 创建 REST Web 服务。我的 REST 服务返回一个列表,然后将其序列化为 XML。我遇到的问题是返回的 XML 以我不喜欢的 ArrayOf 开头。
换句话说,现在 XML 看起来像这样:
<ArrayOfAchievement>
<Achievement>
...
</Achievement>
</ArrayOfAchievement>
我希望 XML 看起来像这样:
<Achievements>
<Achievement>
...
</Achievement>
</Achievements>
如果我创建一个新类并将其命名为AchievementsList,它具有List
public class AchievementsList
{
public List<Achievement> Achievements { get; set; }
}
然后让我的服务返回上面的类而不是 List
<AchievementsList>
<Achievements>
<Achievement>
...
</Achievement>
</Achievements>
</AchievementsList>
这是错误的(因为它添加了另一个不属于那里的级别)。
另一个问题是我还需要为对象应用命名空间,如下所示:
[XmlRoot(Namespace="NameSpaceURL")]
public class AchievementsList
{
public List<Achievement> Achievements { get; set; }
}
如果我只返回一个列表
那么我该怎么解决这两个问题呢?
巴拉
【问题讨论】: