我正在尝试将SSIS数据配置文件任务的输出读入MVC应用程序。为了解决问题,我编写了一个小型控制台应用程序来测试xml文件的解析。
我使用了以下链接:
http://schemas.microsoft.com/sqlserver/2008/DataDebugger/DataProfile.xsd
下载.XSD文件,该文件应描述在数据配置文件输出文件中生成的.XML文件。
然后我运行xsd.exe来创建一个C#类,以包含在我的控制台应用程序中。
以下是我非常简单的测试代码:
XmlSerializer xser = new XmlSerializer(typeof(DataProfile));
DataProfile dProf = xser.Deserialize(new FileStream(@"D:\InputFiles\ProfilerDataCVD.XML", FileMode.Open)) as DataProfile;
if (dProf != null)
{
var profs = dProf.DataProfileOutput.Profiles;
foreach (ColumnValueDistributionProfileType c in profs)
{
Console.WriteLine(string.Format("Column Name: {0}, RowCount: {1}, Distinct Values: {2}", c.Column.Name, c.Table.RowCount, c.NumberOfDistinctValues));
}
}
在该代码中,“dProf”永远不会为NULL,但始终为空。在dProf中获取数据的任何帮助都可能挽救生命,因为我即将跳下悬崖试图解决这个问题!
如果我遗漏了一些明显的XML事物,我将首先承认这不是我最强的诉讼。只要您告诉我如何制作此返回数据,请随意惩罚我。
答案 0 :(得分:0)
遗憾的是,没有人能够回答这个问题。我仍然非常想明白为什么这么简单的东西不起作用。
与此同时,任何遇到同样问题的人都应该查看MSDN论坛上的以下链接,以获得做同样事情的替代方法。
我昨天在几分钟内实现了它,效果很好。