私は次のxml構造を持っています
<quiz xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="quiz.xsd">
<mchoice>
<question>What is the capital city of Australia?</question>
<answer>Sydney</answer>
<answer correct="yes">Canberra</answer>
<answer>Melbourne</answer>
<answer>Gold Coast</answer>
</mchoice>
</quiz>
そして、次のコードを使用してCLR型に変換したい
public class Question
{
public int ID { get; set; }
public string QuestionText { get; set; }
public List<Answer> Answers { get; set; }
}
public class Answer
{
public string Answer1 { get; set; }
public string Answer2 { get; set; }
public string Answer3 { get; set; }
public string Answer4 { get; set; }
}
public List<Question> GetAll()
{
var doc = XDocument.Load(Filepath);
var results = (from x in doc.Descendants("mchoice")
select new Question()
{
ID = Convert.ToInt16(x.Element("ID")),
QuestionText = x.Element("question").Value.ToString(),
Answers = new List<Answer>()
{
//How I would fill Answer collection
}
}).ToList();
return results;
}
現在、現在の設計には2つの問題があります。
- Answer コレクションを埋める方法
- 現在の設計で正解属性をどのように処理するか。