首页 > 系统相关 >光脚丫学LINQ(010):将内存中的对象转换为XML

光脚丫学LINQ(010):将内存中的对象转换为XML

时间:2023-06-30 21:03:33浏览次数:49  
标签:XML FirstName XElement LastName LINQ 010 student Scores new


视频演示:http://u.115.com/file/f24db1fdfa

 

通过 LINQ 查询,可以轻松地在内存中的数据结构、SQL 数据库、ADO.NET 数据集和 XML 流或文档之间转换数据。下面的示例将内存中的数据结构中的对象转换为 XML 元素。

List<Student> Students = new List<Student>()
{
    new Student {
        FirstName="Svetlana",
        LastName="Omelchenko", 
        ID=111, 
        Scores = new List<int>{97, 92, 81, 60}},
    new Student {
        FirstName="Claire", 
        LastName="O’Donnell", 
        ID=112, 
        Scores = new List<int>{75, 84, 91, 39}},
    new Student {
        FirstName="Sven", 
        LastName="Mortensen", 
        ID=113, 
        Scores = new List<int>{88, 94, 65, 91}},
};

// Create the query.
var StudentsToXML = new XElement("Root",
    from student in Students
    let ScoreString = String.Format("{0},{1},{2},{3}",
        student.Scores[0],
        student.Scores[1],
        student.Scores[2],
        student.Scores[3])
    select new XElement("Student",
               new XElement("FirstName", student.FirstName),
               new XElement("LastName", student.LastName),
               new XElement("Scores", ScoreString)
            ) 
        );

// Execute the query.
Console.WriteLine(StudentsToXML);

// Keep the console open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();

 

此代码生成下面的 XML 输出:

<Root>
  <Student>
    <FirstName>Svetlana</FirstName>
    <LastName>Omelchenko</LastName>
    <Scores>97,92,81,60</Scores>
  </Student>
  <Student>
    <FirstName>Claire</FirstName>
    <LastName>O’Donnell</LastName>
    <Scores>75,84,91,39</Scores>
  </Student>
  <Student>
    <FirstName>Sven</FirstName>
    <LastName>Mortensen</LastName>
    <Scores>88,94,65,91</Scores>
  </Student>
</Root>

标签:XML,FirstName,XElement,LastName,LINQ,010,student,Scores,new
From: https://blog.51cto.com/u_16173572/6593735

相关文章

  • 光脚丫学LINQ(013):LINQ查询语法与方法语法
    视频演示:http://u.115.com/file/f2f1e1a2f4 通过使用C#3.0中引入的声明性查询语法,介绍性LINQ文档中的多数查询都被编写为查询表达式。但是,.NET公共语言运行时(CLR)本身并不具有查询语法的概念。因此,在编译时,查询表达式会转换为CLR确实了解的内容:方法调用。这些方法称为......
  • 光脚丫学LINQ(014):LINQ to SQL简介
    视频演示:http://u.115.com/file/f29f7838f6 LINQtoSQL是.NETFramework3.5版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。说明关系数据显示为由二维表(关系或平面文件)组成的集合,其中公共列将表互相关联起来。若要有效地使用LINQtoSQL,您必须略为熟悉关......
  • 光脚丫学LINQ(012):LINQ查询操作中的类型关系
    视频演示:http://u.115.com/file/f2458259e9 若要有效编写查询,您应该了解完整的查询操作中的变量类型是如何全部彼此关联的。如果您了解这些关系,就能够更容易地理解文档中的LINQ示例和代码示例。另外,还能了解在使用var隐式对变量进行类型化时的后台操作。LINQ查询操作在数据源......
  • 光脚丫学LINQ(009):选择各个源元素的子集
    视频演示:http://u.115.com/file/f2d7193f3a 选择源序列中的各个元素的子集有两种主要方法:1、若要只选择源元素的一个成员,请使用点运算。在下面的示例中,假定Customer对象包含几个公共属性,其中包括名为City的字符串。在执行此查询时,此查询将生成字符串输出序列。NorthwindDataCo......
  • [代码]DOM和LINQ to XML创建XML树的三种方式
    此代码主要示范了DOM和LINQtoXML三种创建XML树的方式。第01种、使用W3CDOM创建XML树可以使用XmlDocument.CreateElement()方法创建XML元素。使用XmlElement.InnerText为元素添加内容,比如在元素的开始标记和结束标记之间添加字符串内容。使用XmlElement.SetAttribute()方法为元素......
  • 光脚丫学LINQ(041):使用对象关系设计器修改映射关系
    演示视频:http://u.115.com/file/f2b86d8eab演示重点此演示视频主要介绍了如何使用VS提供的【对象关系设计器】这个工具来建立实体类之间的关系。虽然此工具可以自动根据数据表之间的关系来建立起对象模型中实体类与实体类之间的关系。然而,默认情况下,它所建立的关系貌似都是清一色的......
  • N层研习记录01:试图通过Boolean参数控制并发冲突的检查方式(LINQ to SQL)
    作者:光脚丫思考版权所有,转载请注明出处!^_^此研习用到的测试代码可通过以下两个地址下载,如果不能下载,请留言通知我。下载地址02:http://u.115.com/file/f26716bcc2如果你只想快速的查看测试代码的主题部分,或者想更具体的了解测试的详细记录,则可以参看另一篇名为《N层研习中的测试代......
  • [代码]使用LINQ的查询结果填充XML树(LINQ to XML)
    此代码使用的是LINQtoXML的函数构造功能创建一个XML树,其中树中的一些元素是通过LINQ查询结果填充。实际上,通过本例也可以看到如何使用LINQtoXML将原始XML文档转换成为另外一种XML文档。下面代码中使用的PurchaseOrder.xml文档内容:<?xmlversion="1.0"?><PurchaseOrderPurchas......
  • [代码]创建XDocument对象(LINQ to XML)
    LINQtoXML中的XDocument是用来表示内存中的XML文档的。同样可以使用函数构造功能来创建此对象。此示例代码主要用来演示如何创建一个通用的XML文档。示例代码代码中创建的XDocument对象,包含了2个注释(XComment),1个处理指令(XProcessingInstrucation),1个根元素及其若干子元素,也为......
  • [代码]如何从文件加载XML(LINQ to XML)
    此示例代码演示如何使用XElement.Load()方法从文件中加载XML。示例代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Xml.Linq;namespaceDemo02Ex01{classProgram{staticvoidMain(string[]arg......