从数据库中生成XML-机器人学导论第三版课后习题答案
24.10 从数据库中生成XML
XML常常用于在客户机和服务器之间交流数据,或者在多层应用程序的不同层之间交流数据。在数据库中查询某些数据,再根据这些数据生成XML文档或片段,传送给另一层是很常见的。下面的示例就创建一个查询,在Northwind示例数据库中查找某些数据,用LINQ to SQL查询数据,再用LINQ to XML类把数据转换为XML。想了解更多关于LINQ to SQL和LINQ to XML的基础知识,可以参考这篇LINQ教程中文版。
试一试:从数据库生成XML
按照下面的步骤在Visual Studio 2010中创建示例:
-
在C:BegVCSharpChapter24目录中创建一个新的控制台应用程序BegVCSharp_24_6_XMLfromDatabase。
-
按照本章开头的“第一个LINQ数据库查询”示例,在项目中添加一个新数据源Model1.edmx,再添加与Northwind示例数据库的连接。
-
编译项目,这样在Model1.edmx中定义的类和属性就可以在后面编辑代码时通过IntelliSense使用了。
-
打开主源文件Program.cs。
-
在Program.cs开头添加对System.Xml.Linq名称空间的引用,如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.Text;
- 把下面的代码添加到Program.cs的Main()方法中:
static void Main(string[] args) {
NORTHWNDEntities northWindEntities = new NORTHWNDEntities();
XElement northwindCustomerOrders = new XElement("customers",
from c in northWindEntities.Customers.AsEnumerable()
select new XElement("customer",
new XAttribute("ID", c.CustomerID),
new XAttribute("City", c.City),
new XAttribute("Company", c.CompanyName),
from o in c.Orders
select new XElement("order",
new XAttribute("orderID", o.OrderID),
new XAttribute("orderDay", o.OrderDate.Value.Day),
new XAttribute("orderMonth", o.OrderDate.Value.Month),
new XAttribute("orderYear", o.OrderDate.Value.Year),
new XAttribute("orderTotal", 713) // 这里是订单总额,实际上应从数据中获取
)
)
);
}
惊叹于LINQ的强大功能吗?你也可以参考LINQ to XML编程基础,这里详细介绍了如何使用LINQ查询和生成XML。LINQ实战一书也提供了许多实用的示例和技巧,让你快速上手!
下载地址
用户评论