私は現在、Windows、iOS、Android でクロス プラットフォームを使用するための ac# ライブラリを作成しています。Rest サービスを使用していますが、応答から返されるオブジェクトに問題があります。API呼び出しにRestSharpを使用しています。Xsd2Code.NET を使用して、API によって提供される xsd からクラスを生成しました。
問題は、応答が<subsonic-response>
. 欲しい商品が入っています。RestSharp は、タイプを として渡すと解析を試みList<NowPlaying>
ますが、その中のアイテムは NowPlaying オブジェクトに取り込まれません。NowPlaying のシリアライズ/デシリアライズ メソッドを生成しました<subsonic-response>
が、ルート要素として例外がスローされました。削除する方法はあり<subsonic-response>
ますか?RestSharp 呼び出しに対して response.RootElement = "subsonic-response" を試しましたが、機能しません。以下の応答を参照してください。どんな助けでも素晴らしいでしょう。
レストレスポンス:
<?xml version="1.0" encoding="UTF-8"?>
<subsonic-response xmlns="http://subsonic.org/restapi" status="ok" version="1.7.0">
<nowPlaying>
<entry id="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b31325c38372e2044616e63652044616e63652028445542535445502052454d495829202d20426967205365616e2e6d7033" parent="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b3132"
title="Dance Dance (DUBSTEP REMIX) - Big Sean"
isDir="false"
album="M3 MIXTAPE (MEMBA. ME. MAAD)"
artist="DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE"
duration="67"
bitRate="192"
year="2012"
size="1615419"
suffix="mp3"
contentType="audio/mpeg"
isVideo="false"
coverArt="503a5c4d757369635c4a616e20326b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d3320284d454d4241204d45204d4141442920324b31325c444a20434852495354554646204449204d414420595554452046524f4d2052454e41495353414e43452050524553454e5453204d332020284d454d4241204d45204d4141442920324b31325c444a20434852495354554646202d204d454d4241204d45204d4141442046524f4e542e6a7067"
path="Jan 2k12/DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE PRESENTS M3 (MEMBA ME MAAD) 2K12/DJ CHRISTUFF DI MAD YUTE FROM RENAISSANCE PRESENTS M3 (MEMBA ME MAAD) 2K12/87. Dance Dance (DUBSTEP REMIX) - Big Sean.mp3"
username="admin"
playerId="2"
playerName="subAir"
minutesAgo="0"/>
</nowPlaying>
</subsonic-response>
生成されたクラス:
public partial class NowPlaying : EntityBase<NowPlaying>
{
[EditorBrowsable(EditorBrowsableState.Never)]
private List<NowPlayingEntry> entryField;
public List<NowPlayingEntry> entry
{
get
{
if ((this.entryField == null))
{
this.entryField = new List<NowPlayingEntry>();
}
return this.entryField;
}
set
{
if ((this.entryField != null))
{
if ((entryField.Equals(value) != true))
{
this.entryField = value;
this.OnPropertyChanged("entry");
}
}
else
{
this.entryField = value;
this.OnPropertyChanged("entry");
}
}
}
}
残りのサービスから NowPlaying を取得するために呼び出しているメソッド
public NowPlaying getNowPlaying()
{
NowPlaying playing;
try
{
var request = new RestRequest();
request.Resource = "getNowPlaying.view";
playing = SendRequest<NowPlaying>(request);
}
catch (Exception ex)
{
throw ex;
}
return playing;
}