将XML字段连接到一条记录中

本文关键字:一条 记录 连接 XML 字段 | 更新日期: 2023-09-27 18:29:08

我是在C#中处理XML的新手。我需要将多个字段连接到一条记录中。例如,我有一个包含多个记录的XML:

输入

 <Students>---------------------->1st Record
      <Validate>True</Validate>
      <StudentName>Joe</StudentName>
      <ID>1</ID>
      <BookName>C#</BookName>
 </Students>
 <Students>----------------------->2nd Record
      <StudentName>Van</StudentName>
      <ID>2</ID>
      <BookName>Java</BookName>
 </Students>

字段<validate>将只出现一次,预期输出是学生下的第二条记录,即StudentName、ID、BookName应位于第一条记录<Students>标签下

输出

 <Students>------------------->Both record should be added to one Record
      <Validate>True</Validate>
      <StudentName>Joe</StudentName>
      <ID>1</ID>
      <BookName>C#</BookName>
      <StudentName>Van</StudentName>
      <ID>2</ID>
      <BookName>Java</BookName>
 </Students>

将XML字段连接到一条记录中

最简单的方法是使用LINQ to XML。解析XML,获取每个Students元素中的所有子元素,并将它们放入一个新的Students元素中:

var doc = XDocument.Parse(xml);
var children = doc.Descendants("Students")
    .Elements();
var newStudents = new XElement("Students", children);

请参阅此小提琴以获取工作示例。