从 xml 中的最后一个值开始读取

Start reading from last value in xml

提问人:dositelu 提问时间:1/30/2023 更新时间:1/30/2023 访问量:32

问:

我有这种xml文件。根节点是 Sim,并且有多个“测试”子节点。此外,每个“测试”都有一名讲师。最后,每个教师都有自己的姓名、姓氏和等级值。

<Sim>
  <Test ID="1" Description="test1" Date="17/01/2023">
    <Instructor Num="1">
      <Name>instructor1</Name>
      <Surname></Surname>
      <Rank></Rank>
    </Instructor>
  </Test>
  <Test ID="2" Description="test2" Date="16/01/2023">
    <Instructor Num="22">
      <Name>instructor22</Name>
      <Surname></Surname>
      <Rank></Rank>
    </Instructor>
  </Test>
</Sim>

使用 xelement.load,将读取此文件的测试 ID,因为它们在文件中。我希望 xelement.load 在测试 ID 从大到小排序后读取。我该怎么做?讲师部分也包含在第二个代码中。

<Sim>
  <Test ID="3" Description="test3" Date="18/01/2023"></Test>
  <Test ID="2" Description="test2" Date="17/01/2023"></Test>
  <Test ID="1" Description="test1" Date="16/01/2023"></Test>
</Sim>
C# XML 链接

评论


答:

2赞 Krishna Varma 1/30/2023 #1

尝试使用 和XDocumentLINQ

var xDoc = XDocument.Parse(File.ReadAllText("XMLFile2.xml"));
var elements = xDoc.Descendants("Test").OrderByDescending(x=> Convert.ToInt16(x.Attribute("ID").Value));