2016-08-05 10 views
2

ASP.NET WebAPIのxml検索で複数の問題が発生しています。現在、我々はDataContractSearilizerの代わりにxmlserializerを使用しています(これはXMLシリアル化のデフォルトのシリアル化メソッドです)。 DataContractSearlizerASP.Net Web API XML検索の問題

  1. 私たちは、そうでない場合は、APIの最後にヌルなっ昇順にオブジェクトのすべてのフィールドを渡す必要があります。

  2. またXMLオブジェクトをWeb APIに渡すためにXMLヘッダーに名前空間を渡す必要があります。我々はxmlserializer代わりのDataContractSearlizerのために行くことにしましたこれら二つの基本的な理由から

。しかし今、我々はデフォルトのDataContractSearilization機構に存在しなかった別の問題に直面している。私たちはこの

[DataContract] 
public class Car 
{ 
    public int ID; 

    [DataMember] 
    public string CarName; 

    [DataMember] 
    public string CarType; 

} 

は、今、私たちはクライアント側で我々は唯一のデータメンバー属性に囲まれたフィールドを受け取ることを期待していたが、データメンバーがあるかない属性か予期せずに、我々はすべてのフィールドを取得しているようなオブジェクトがあるとしましょう。これはjsonの検索では問題なく動作していますが、結果は当初期待していたものでした。この点で誰かが私たちを助けることができますか?

+0

[この](http://stackoverflow.com/questions/1791946/how-can-i-ignore-a-property-when-serializing-using-the-datacontractserializerは)あなたを助けるかもしれない –

答えて

1

おそらくIgnoreDataMember属性を探しています:

型のメンバーに適用される

は、メンバーがデータコントラクトの 一部ではなく、シリアル化されていないことを指定します。

[DataContract] 
public class Car 
{ 
    [IgnoreDataMember] 
    public int ID; 

    [DataMember] 
    public string CarName; 

    [DataMember] 
    public string CarType; 

} 
+0

私はすでにこれを試したと思いますが、それもうまくいきませんでした。もう一度試してみましょう。数分後にあなたに戻ってください。 –

+1

DataContractSerializerを使用していないので、お待ちください。[XmlIgnore] ' - 私は速くしていました... –

+0

あなたは素晴らしいです!できます。本当にありがとうMartin –