动态生成RDLC - 什么使用一个StringBuilder用于构建XML阻止我
-
22-08-2019 - |
题
我建立一个本地报表。因为隐藏属性的一些局限性的,我需要动态生成报告。
我发现了一些文档此处。
ReportViewer控件需要一个流。
我真的不喜欢它的文档中使用的方法。和建立一个如下不是很可读伊莫。
有什么从做这样阻止我
类节目 { 静态无效的主要(字符串[]参数) { GenerateReport(); }
static void GenerateReport(){
StringBuilder reportXml = new StringBuilder();
reportXml.Append("<Report>");
reportXml.Append("<PageHeight>8.5in</PageHeight>");
reportXml.Append("</Report>");
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(reportXml.ToString());
xmlDocument.Save(@"C:\test.xml");
xmlDocument.Save(Console.Out);
Console.ReadLine();
}
}
解决方案
简单:如果使用该方法,在所述处理器特殊操作检测用于生成该字符串错误的类WS,在该点处正确性警察被调用。
说真的,没有什么,让你从确切做这样说。其实,你可以打赌,在幕后有在更复杂的XML生成,做的东西非常相像一些代码。当你下来吧,XML只是一个字符串,只要它是良好的,该字符串将是相同的,无论你如何构建它。
其他类的好处是,他们更简单,更灵活,当你想建立更复杂的XML。
有几乎无限多的类,可以产生XML或XHTML。寻找一个具有“流畅的界面”。在C ++ - 如语言它可能看起来像:
XMLOutStream foo("filename.xml);
foo.group("Top","attr=val")
.group("Next")
.line("Another", "attr=val") ;
,以产生
<Top>
<Next attr="val">
<Another attr="val" />
</Next>
</Top>
我一直在寻找这个问题。
不隶属于 StackOverflow