API 応答を取得して POCO オブジェクトに変換する API ラッパーを作成しています。現在、次の一連のアクションに従うテストがあります。
- XML 要素の名前と値を持つオブジェクトを作成します。
- このオブジェクトを XML 形式にシリアル化します。
- コンバーターを使用して、XML ツリーを実際のオブジェクトに変換します。
- 新しいオブジェクト内の値が期待どおりかどうかをアサートします。
表示オブジェクトを表す次のヘルパー クラスがあります。
class TestShow {
public string id { get; set; }
public string IMDB_ID { get; set; }
public string Language { get; set; }
}
シリアライザー:
var serializer = new XmlSerializer(show.GetType());
string xml;
using (var writer = new StringWriter()) {
serializer.Serialize(writer, show);
xml = writer.ToString();
}
ただし、これを XML にシリアル化すると、次の結果が得られます。
<?xml version="1.0" encoding="utf-16"?>
<TestShow xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<id>76290</id>
<IMDB_ID>tt0285331</IMDB_ID>
<Language>en</Language>
</TestShow>
望ましい結果は次のとおりです。
<Data>
<Series>
<id>76290</id>
<IMDB_ID>tt0285331</IMDB_ID>
<Language>en</Language>
</Series>
</Data>
これは、次の 2 つの問題を示しています。
- の名前を
TestShow
に変更する必要がありますSeries
。これを行う簡単な方法はありますか、それともクラス名を変更するだけですか? - というアッパーコレクションがあり
Data
ます。これをどのように追加しますか?