【发布时间】:2013-04-08 22:11:05
【问题描述】:
我有一个查询数据库并报告结果的程序。这是我的查询:
Select Service, Total
From Services
Where dtcreated between @startdate and @enddate
名为dataset 的数据集将此报告给reportviewer1
然后我有一个xml文件,这里是xml文件:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<config>
<goals>
<service1>4</service1>
<service2>3</service2>
</goals>
</config>
xml(位置C:\config.xml)报告给Reportviewer2
我想做的是通过电子邮件发送查询结果以及 xml 文件中的服务目标值。我可以使用 LINQ 将要从数据集中通过电子邮件发送的表格放在一起,我的代码如下:
Dim xelement As XElement = xelement.Load("C:\Config.xml")
Dim employees As IEnumerable(Of XElement) = xelement.Elements()
Dim test = _
<html><body><table><tr><th>Service</th><th>Total Sold</th><th>Goals</th></tr>
<%= From service In Me.Dataset.datatable.AsEnumerable _
Select <tr><td><%= service.Service_Category.ToString %></td>
<td><%= service.Total_Sold.ToString %></td>
<%= From XMLFile In xelement.Descendants("goals").AsEnumerable _
Select <td><%= XMLFile.Descendants("goals").Value %></td> %></tr> %>
</table></body></html>
现在我想做的是在同一个表中包含 XML 文件的值,以便在上述数据构建的第三列中报告。如您所见,第三列我想成为“目标”,它应该显示 4,然后根据我的配置文件显示 3。如何在上面的 Linq 和 HTML 构建中包含我的 xml 文件的值?这是我的输出当前的样子:
Service Total Sold Goals
Service1 51
Service2 12
如您所见,我在配置文件中缺少“4”和“3”。
这是我希望输出的样子:
Service Total Sold Goals
Service1 51 4
Service2 12 3
【问题讨论】:
-
顺便提一下,我刚刚提到了 VB.NET 中的内联 XML... 哎哟! 模板文件资源有什么问题?
-
不确定我是否知道如何使用模板文件资源,并且在上面的表格中填写信息时仍然会遇到同样的问题...我可以在构建后编辑配置文件吗?目标将每月/每年更改,因此我需要一种报告目标的方法。这是一个自动程序,它将查询数据库、查看我们的目标设置、构建表格,然后通过电子邮件发送表格。
-
@GrantThomas 如果我希望在繁琐的测试设置和断言中使用一件事,那就是内联 XML,当我编写 C# 时。
标签: c# xml vb.net linq dataset