我的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?)