2012-03-04 13 views
0

は、次のXMLを考えてみましょう:Restsharpとデシリアライズ派生型は

<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> 

私は1つのリストにartistsの下にすべてのタグを非直列化します。私がこれまで持っているもの:私はここ3つの項目(二人のアーティストと1ヘッドライナー)を含むリストで終わるために望んでいたが、私は唯一のアーティストを取得しています

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; } 
} 

。 Restsharpを使ってこのような動作をすることは可能ですか?または、カスタムシリアライザが必要ですか?

属性を使用すると、XmlInclude属性が必要になると思いますが、これまでのRestsharpの部分の「外出中」を愛しています。

答えて

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> 
+0

、残念ながら、私はXMLのサプライヤーではありませんよ – diggingforfire

関連する問題