<?xml version="1.0" encoding="utf-16"?>
<xsd:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="ArrayOfCourse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Course">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="codeField" type="xsd:string" />
<xsd:element name="semesterField" type="xsd:string" />
<xsd:element name="titleField" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
我试图选择课程名称,课程ID和学期教学
我迷失了如何为每门课程选择特定领域
我是否遍历每个元素并将其存储到字符串中?
答案 0 :(得分:0)
LINQ to XML是一种简单的方法。假设您有以下XML:
<ArrayOfCourse>
<Course>
<codeField>Code 1</codeField>
<semesterField>Semester 1</semesterField>
<titleField>Title 1</titleField>
</Course>
<Course>
<codeField>Code 2</codeField>
<semesterField>Semester 2</semesterField>
<titleField>Title 2</titleField>
</Course>
</ArrayOfCourse>
如果你要在这些课程上做很多工作,我建议创建一个类来保存这些值:
public class Course
{
public string CodeField { get; set; }
public string SemesterField { get; set; }
public string TitleField { get; set; }
}
然后,您可以使用XML加载XDocument。假设您在名为Courses.xml的文件中包含xml:
XDocument xDoc = XDocument.Load("Courses.xml");
现在您可以使用LINQ to XML从XML创建Course
个对象的集合:
List<Course> courses = (from x in xDoc.Root.Elements("Course")
select new Course()
{
CodeField = (string)x.Element("codeField"),
SemesterField = (string)x.Element("semesterField"),
TitleField = (string)x.Element("titleField")
}).ToList();
上面的代码会为您提供一个List<Course>
,其中包含两个项目。每个项目都有相应的CodeField
,SemesterField
和TitleField
值。
查询细分如下:
首先,它获取“课程”元素的集合(xDoc.Root.Elements("Course")
)。
接下来,它接收“Course”元素的集合并使用子节点(“codeField”,“semesterField”和“titleField”)来实例化Course
对象,然后将该集合转换为{{ 1}}。
LINQ to XML有很多信息和示例,以及您可以在Web上使用它做什么。以下是帮助您入门的MSDN链接 - LINQ to XML