我可以让ServiceStack将特定属性序列化为XML属性而不是元素吗?

时间:2013-12-02 12:08:55

标签: xml-serialization servicestack datacontractserializer

我的ServiceStack API返回以下XML:

<UserResult>
  <Email>dan-dare@the-eagle.com</Email>
  <Forenames>Daniel</Forenames>
  <Href>/users/00000001-0000-0000-0000-00000000000d</Href>
  <Memberships>
    <Href>/users/00000001-0000-0000-0000-00000000000d/memberships</Href>
  </Memberships>
  <Surname>Dare</Surname>
  <UserGuid>00000001-0000-0000-0000-00000000000d</UserGuid>
  <Username>test_dan</Username>
</UserResult>

我很好奇是否可以修改XML序列化,因此它将HREF属性作为属性而不是元素返回:

<UserResult href="/users/00000001-0000-0000-0000-00000000000d">
  ...
  <Memberships href="/users/00000001-0000-0000-0000-00000000000d/memberships" />
  ...
</UserResult>

甚至完全覆盖默认序列化,以便将特定属性公开为<link />元素:

<UserResult href="/users/00000001-0000-0000-0000-00000000000d">
  ...
  <link rel="memberships" href="/users/00000001-0000-0000-0000-00000000000d/memberships" />
  ...
</UserResult>

我尚未确定我是否应该这样做,但很想知道是否可能 - 通过修改属性或替换ServiceStack使用的默认XML序列化程序(DataContractSerializer?)

0 个答案:

没有答案