0

我为我们的客户创建了一个 asp.net Web 服务,它返回List包含复杂类型的多个对象。客户端一直在接收数据就好了。

他注意到,并不是所有的标签一直都在那里。例如,如果我在列表中返回 3 个对象,对象 AB 和 C。当我返回它时,C 为空。它将显示:

<A>data</A>
<B>data</B>

当我希望它显示以下内容时:

<A>data</A>
<B>data</B>
<C/>

或者至少:

<A>data</A>
<B>data</B>
<C></C>

基本上,我希望 XML 的结构保持不变,无论哪些数据可用以及哪些数据为空。

有什么建议么?

非常感谢!!

4

1 回答 1

2

肥皂规格。状态:

NULL 值或默认值可以通过省略访问器元素来表示。NULL 值也可以由包含属性 xsi:null 且值为“1”或其他可能与应用程序相关的属性和值的访问器元素指示。

不幸的是,对于你来说,MS 选择了这种情况的第一个选项。

另一方面,您不能像这样创建 NULL 值:

<C></C>

因为空字符串和空字符串有什么区别?

这个选项

<C/>

看起来很有希望。我猜您的服务使用 XMLSerializer 来序列化您的数据。检查这篇文章。也许您可以IXMLSerializable为您的对象实现并为您的数据提供自定义 xml。

于 2012-05-28T17:12:00.870 回答