次のようなLevelオブジェクトをシリアル化しようとしています。
public class Level
{
//Some XmlAtributes
[XmlElement]
public List<Question> questions;
}
public class Question
{
//Some XmlAttributes
[XmlArray("Answers")]
public List<string> answers;
}
次のようなXMLファイルに変換します。
<Level time="2">
<Question type="multiplechoice">
<Answers correct="b">
<a>Answer 1</a>
<b>Answer 2</b>
<c>Answer 3</c>
<d>Answer 4</d>
</Answers>
</Question>
<Question>
...
</Question>
</Level>
の下の要素名を除いて、これはすでにシリアル化できます<Answers>
。すべてが同じではなく(たとえば<string>
、デフォルトで)、各要素がどのように増分された名前を取得するかに注意してください。これは可能ですか?要素の名前を。に変更できることはわかっています[XmlArrayItem("ItemName")]
が、これにより、配列内のすべての要素に同じ名前が適用されます。