我正在尝试序列化一个看起来像这样的 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")]
,但这会将相同的名称应用于数组中的所有元素。