我有一個在Linq查詢中使用的匿名類型,並且想讓它成爲一個類而不是匿名類型。如何從XML元素創建類?
這些字段是:年齡和具有幾個元素的XML節點。如何聲明該類以便我可以訪問XML元素?
這裏的部分類聲明:
class Student {
int Age;
// ??? What to use here for the XML node? XElement?
}
我有一個在Linq查詢中使用的匿名類型,並且想讓它成爲一個類而不是匿名類型。如何從XML元素創建類?
這些字段是:年齡和具有幾個元素的XML節點。如何聲明該類以便我可以訪問XML元素?
這裏的部分類聲明:
class Student {
int Age;
// ??? What to use here for the XML node? XElement?
}
也許這是你在找..
爲了說明我已經創建了一個例子什麼..
我創建的學生類,像這樣
public class Student
{
public int Age { get; set; }
public string XmlData { get; set; }
public Student()
{
}
}
我創建的課程類。這個類將由值從XML
public class Course
{
public string Name { get; set; }
public int Grade { get; set; }
public Course()
{
}
}
看看現在的代碼開始......
Student student = new Student();
student.Age = 120;
student.XmlData = "<root><courses><course id='0'><name>Name a</name><grade>88</grade></course><course id='1'><name>Name a</name><grade>88</grade></course><course id='2'><name>Name a</name><grade>88</grade></course><course id='3'><name>Name a</name><grade>88</grade></course></courses></root>";
XDocument doc = XDocument.Parse(student.XmlData);
List<Course> coursesData = (from c in doc.Element("root").Element("courses").Elements("course")
select new Course()
{
Name = c.Element("name").Value,
Grade = Convert.ToInt16(c.Element("grade").Value)
}).ToList();
我希望它幫你
非常感謝。這是我需要的方向。 – user763554 2012-02-05 07:55:09
從我的理解是你有一些XML是這樣的:
<student>
<age></age>
<innerNode>
<node1></node1>
<node2></node2>
<innerNode>
</student>
,你想在C#類來表示這一點。我會建議有2個班。 1爲學生,然後另一個爲innerNode。
在你的學生類,你將有屬性:
int Age { get; };
innerNodeClass Inner { get; }
然後你就能夠做到Student.Inner.Node1。
在定義類型,如匿名課程。 – 2012-02-05 06:27:32