C# 如何在不序列化的情况下解析Xml并存储每个节点Xpath
我有以下xml文件。我想在C#中不序列化地解析它 请帮帮我C# 如何在不序列化的情况下解析Xml并存储每个节点Xpath,c#,xml,parsing,C#,Xml,Parsing,我有以下xml文件。我想在C#中不序列化地解析它 请帮帮我 如何实现这一点?尝试使用LINQ解析.xml(查看如何实现这一点的示例)。您应该能够从那里实现您的其他需求-如果您在编码时遇到困难,请自己尝试并寻求帮助:)快速解决方案让您开始: 创建一个XElement: XElement studentXml = XElement.Parse ( @"<StudentList> <StudentCount>5</StudentCount>
如何实现这一点?尝试使用LINQ解析.xml(查看如何实现这一点的示例)。您应该能够从那里实现您的其他需求-如果您在编码时遇到困难,请自己尝试并寻求帮助:)快速解决方案让您开始: 创建一个XElement:
XElement studentXml = XElement.Parse (
@"<StudentList>
<StudentCount>5</StudentCount>
<Student>
<Id>1</Id>
<Name>Abc</Name>
</Student>
<Student>
<Id>2</Id>
<Name>Efg</Name>
</Student>
<Student>
<Id>3</Id>
<Name>Ghi</Name>
</Student>
<Student>
<Id>4</Id>
<Name>Jkl</Name>
</Student>
<Student>
<Id>5</Id>
<Name>Mno</Name>
</Student>
</StudentList>");
List<Student>
Class Student
{
public int Id = 0;
public string Name = "";
}
StudentList\StudentCount
StudentList\Student\Id
StudentList\Student\Name
XElement studentXml = XElement.Parse (
@"<StudentList>
<StudentCount>5</StudentCount>
<Student>
<Id>1</Id>
<Name>Abc</Name>
</Student>
<Student>
<Id>2</Id>
<Name>Efg</Name>
</Student>
<Student>
<Id>3</Id>
<Name>Ghi</Name>
</Student>
<Student>
<Id>4</Id>
<Name>Jkl</Name>
</Student>
<Student>
<Id>5</Id>
<Name>Mno</Name>
</Student>
</StudentList>");
var students =
studentXml
.Descendants()
.Where(node => node.Name == "Student")
.Select(node =>
new Student {
Id = int.Parse(node.Descendants()
.First(item => item.Name == "Id")
.Value),
Name = node.Descendants()
.First(item => item.Name == "Name")
.Value
});