2

asp.net mvc4 Web API を使用して REST サービスを作成しています。私のサービスは出力として xml を返します。以下を含む xml 応答のいくつかの側面を変更したい: - xml ルート ノード - 名前空間を追加する - xml の xsi:nil を削除する モデルでユーザー定義クラスではなく、データ コンテキスト ファイル (Linq to sql dbml ファイル) を使用しています。 . このリンクhttp://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serializationから 、DataContract を使用してそうすることができることを読みましたが、わかりません私の場合にそれを実装する方法。メッセージ ハンドラーを使用したくありません。これは、xml 全体を文字列に読み込む必要があり、返される xml 出力が大きくなる可能性があるため、パフォーマンスに影響を与える可能性があるためです。

助けてください...

4

1 に答える 1

1

この例は参考になるはずです:

[DataContract(Name = "Customer", Namespace = "http://www.contoso.com")]
class Person : IExtensibleDataObject
{
    // To implement the IExtensibleDataObject interface, you must also 
    // implement the ExtensionData property. 
    private ExtensionDataObject extensionDataObjectValue;
    public ExtensionDataObject ExtensionData
    {
        get
        {
            return extensionDataObjectValue;
        }
        set
        {
            extensionDataObjectValue = value;
        }
    }

    [DataMember(Name = "CustName")]
    internal string Name;

    [DataMember(Name = "CustID")]
    internal int ID;

    public Person(string newName, int newID)
    {
        Name = newName;
        ID = newID;
    }

}

詳細については、MSDNを参照してください。

于 2012-08-23T14:28:23.217 に答える