【发布时间】:2012-01-08 02:37:42
【问题描述】:
我一直在搜索,试图找出我在尝试将某些 xml 反序列化为列表时做错了什么。我能够得到任何东西的脱轨,但答案是,所以脱轨正在工作,但似乎我在课堂装饰上遗漏了一些东西。答案显示在“testObj”中,但为空。
感谢任何帮助。
示例 Xml
<?xml version="1.0" encoding="utf-8" ?>
<TestObj xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<question>
<stem>this is the question stem</stem>
<answers>
<answer>answer 1</answer>
<answer>answer 2</answer>
<answer>answer 3</answer>
<answer>answer 4</answer>
</question>
<question .... </question>
<question .... </question>
<question .... </question>
</TestObj>
[Serializable]
public class TestObj
{
[XmlElement(ElementName = "question")]
[XmlElement(typeof(QuestionObj))]
public List<QuestionObj> Questions { get; set; }
public int Id { get; set; }
public string Name;
}
[Serializable]
public class QuestionObj
{
[XmlElement(ElementName = "stem")]
public string Stem { get; set; }
[XmlArray("answers")]
[XmlArrayItem(ElementName = "answer")]
[XmlArrayItem(typeof(AnswerObj))]
public List<AnswerObj> Answers { get; set; }
public int TestId { get; set; }
public int Id { get; set; }
}
[Serializable]
public class AnswerObj
{
[XmlElement(ElementName = "answer")]
public string Answer { get; set; }
public int Id { get; set; }
public int StemId { get; set; }
}
Object returned:
Question:this is the question stem
answers
answer:null
answer null;
etc
【问题讨论】:
-
你用什么反序列化?
-
回答者是否应该假设
<answers>的结束标签?
标签: c# xml-serialization