C# 自定义数据集的xml序列化
我有一个包含以下信息的数据表 我想将这个数据表写入xml,所以我使用了C# 自定义数据集的xml序列化,c#,.net,xml,datatable,schema,C#,.net,Xml,Datatable,Schema,我有一个包含以下信息的数据表 我想将这个数据表写入xml,所以我使用了WriteXml方法,生成了下面的xml <?xml version="1.0" standalone="yes"?> <DocumentElement> <Person> <Name>Person1</Name> <Contact>Fred Nurk</Contact> <CourseName>Cou
WriteXml
方法,生成了下面的xml
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Person>
<Name>Person1</Name>
<Contact>Fred Nurk</Contact>
<CourseName>Course 1</CourseName>
<CourseTime>09:00</CourseTime>
</Person>
<Person>
<Name>Person1</Name>
<Contact>Fred Nurk</Contact>
<CourseName>Course 2</CourseName>
<CourseTime>10:00</CourseTime>
</Person>
</DocumentElement>
人1
弗雷德·努克
课程1
09:00
人1
弗雷德·努克
课程2
10:00
我希望xml能够将同一个人的课程组合起来,这样xml就会如下所示
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Person>
<name>Person1</name>
<contact>Fred Nurk</contact>
<Courses>
<Course>
<courseName>Course 1</courseName>
<courseTime>09:00</courseTime>
</Course>
<Course>
<courseName>Course 2</courseName>
<courseTime>10:00</courseTime>
</Course>
</Courses>
</Person>
</DocumentElement>
人1
弗雷德·努克
课程1
09:00
课程2
10:00
任何帮助都将不胜感激。我认为您必须将数据复制到包含列的临时表中
<name> <contact> <coursename1> <coursetime1> <coursename2> <coursetime2> <coursenameX> <coursetimeX> <coursenameX> <coursetimeX> <..and so on>
并将其写入XML我认为在您的情况下,您应该实现并生成您想要的XML 实施方法
public XmlSchema GetSchema()
{
return null; //this should remain equal
}
public void ReadXml(XmlReader reader)
{
throw new NotImplementedException();
}
public void WriteXml(XmlWriter writer)
{
//group your list of Person as you want then
foreach (Person person in list)
{
writer.WriteStartElement("Persons");
person.WriteXml(writer);
writer.WriteEndElement();
}
}
在
WriteXml
函数中,您可以检查每个元素,看此人是否已经在xml中(仅添加课程)或没有(添加整个节点)为什么我得到了-1,请解释一下?