0

List複雑な型を含む複数のオブジェクトを返すクライアント用の asp.net Web サービスを作成しました。クライアントは問題なくデータを受信して​​います。

ただし、すべてのタグが常に存在するわけではないことに気付きました。たとえば、リストに 3 つのオブジェクトを返す場合、オブジェクト AB と C. を返すと、C は null になります。次のように表示されます。

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

次のように表示したい場合:

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

または少なくとも:

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

基本的に、どのデータが使用可能で、どのデータが null であるかに関係なく、XML の構造を同じままにしたいと考えています。

助言がありますか?

どうもありがとう!!

4

1 に答える 1

2

石鹸仕様。状態:

NULL 値またはデフォルト値は、アクセサー要素の省略によって表すことができます。NULL 値は、値が「1」の xsi:null 属性または場合によっては他のアプリケーション依存の属性と値を含むアクセサー要素によっても示される場合があります。

残念ながら、MS はこの状況に対して最初のオプションを選択しました。

一方、次のように NULL 値を作成することはできません。

<C></C>

空の文字列とnullをどのように区別するのでしょうか?

このオプション

<C/>

有望に見えます。あなたのサービスは XMLSerializer を使用してデータをシリアライズしていると思います。この投稿を確認してください。おそらく、オブジェクトに実装IXMLSerializableして、データにカスタム xml を提供できます。

于 2012-05-28T17:12:00.870 に答える