1

MVC API 応答から xsd および xsi 名前空間を削除する必要がありますが、機能させることができません。(それらを削除する必要があるのは、サード パーティのマップ プロバイダーに送信しているためであり、それらを含めると機能しないためです。) 他にもたくさんの質問を読みましたまったく同じことですが、答えは機能しません。この答えに従ってカスタムフォーマッタを実装しようとしましたが、残念ながら運もありません。誰かが私が何をする必要があるか知っていますか? あきらめて、代わりにハンドラーを使用する必要がありますか?

モデル:

[XmlType(TypeName = "MapPoints")]
[XmlRoot(DataType = "", Namespace = "http://tempuri.org/XMLFile1.xsd")]
public class MapPointList
{
    public MapPointList()
    {
        Points = new List<MapPoint>();
    }

    [XmlElement("Point")]
    public List<MapPoint> Points { get; set; }
}

コントローラ:

    public class MyController : ApiController
{
    public MyController()
    {
        var xmlFormatter = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
        xmlFormatter.SetSerializer<MapPointList>(new XmlSerializer(typeof (MapPointList)));
        xmlFormatter.SetSerializer<MapPoint>(new XmlSerializer(typeof (MapPoint)));
    }

    [HttpGet]
    public MapPointList SearchMap()
    {
        var items = new MapPointList();
        // get the items

        return items;
    }
}

私のルートは次のようになります。

<MapPoints xmlns="http://tempuri.org/XMLFile1.xsd">

さらに情報を追加する必要がある場合はお知らせください。

4

0 に答える 0