0

次の XML を検討してください。

<events xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" artist="Rammstein"    festivalsonly="0" page="1" perPage="50" totalPages="1" total="25">
    <event xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
        <id>1985967</id>
        <title>Rammstein: "Made in Germany 1995 -2011 LIVE"</title>
        <artists>
            <artist>Rammstein</artist>
            <artist>Deathstars</artist>
            <headliner>Rammstein</headliner>
        </artists>
    </event>
</events>

artists下のすべてのタグを単一のリストに逆シリアル化したい。私がこれまでに持っているもの:

public class Artist
{
    public string Value { get; set; }
}

public class HeadLiner : Artist
{

}

public class ArtistCollection : List<Artist>
{

}

public class Event
{
    public ArtistCollection Artists { get; set; }
}

ここに 3 つの項目 (2 人のアーティストと 1 つのヘッドライナー) を含むリストになることを望んでいましたが、アーティストしか取得できません。Restsharp を使用して、この種の動作をすぐに使用できるようにすることは可能ですか? または、カスタムシリアライザーが必要ですか?

属性を使用すると、属性が必要になると思いますが、XmlIncludeこれまでのところ、Restsharp の「すぐに使える」部分が気に入っています。

4

1 に答える 1

0

あなたの投稿の日付から、私はおそらく少し遅れていますが、遅れないよりはましです.

あなたのxmlは次のようにする必要があると思います:

<events xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" artist="Rammstein"    festivalsonly="0" page="1" perPage="50" totalPages="1" total="25">
   <event xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
       <id>1985967</id>
       <title>Rammstein: "Made in Germany 1995 -2011 LIVE"</title>
       <artists>
           <artist>Rammstein</artist>
           <artist>Deathstars</artist>
           <artist xsi:type="headliner">Rammstein</artist>
       </artists>
   </event>
</events>
于 2012-04-27T16:24:08.887 に答える