【发布时间】:2010-06-15 20:45:39
【问题描述】:
我有需要反序列化的 XML 文件。我使用 Visual Studio 中的 XSD 工具来创建 c# 对象文件。生成的类会反序列化文件,但不是我需要的方式。
如果您能帮我解决这个问题,我将不胜感激。
名为“data”的子元素应该是父元素“task”的属性。
XML 的简化示例如下:
<task type="Nothing" id="2" taskOnFail="false" >
<data value="" name="prerequisiteTasks" />
<data value="" name="exclusionTasks" />
<data value="" name="allowRepeats" />
<task type="Wait for Tasks" id="10" taskOnFail="false" >
<data value="" name="prerequisiteTasks" />
<data value="" name="exclusionTasks" />
<data value="" name="allowRepeats" />
</task>
<task type="Wait for Tasks" id="10" taskOnFail="false" >
<data value="" name="prerequisiteTasks" />
<data value="" name="exclusionTasks" />
<data value="" name="allowRepeats" />
</task>
</task>
我试图反序列化的类定义格式为:
public class task {
public string prerequisiteTasks {get;set;}
public string exclusionTasks {get;set;}
public string allowRepeats {get;set;}
[System.Xml.Serialization.XmlElementAttribute("task")]
public List<task> ChildTasks {get;set;}
}
子“任务”很好,但生成的文件将“数据”元素放入 data[] 数组中,而不是我需要的任务类的命名成员。
【问题讨论】:
标签: c# xml-serialization