1

我正在构建本地报告。由于 Hidden 属性的一些限制,我需要动态生成报告。

我在这里找到了一些文档。

ReportViewer 控件需要一个流。

我不太喜欢文档中使用的方法。并且构建一个 XmlDocument 不是很可读的imo。

有什么东西阻止我这样做

类程序 { 静态无效 Main(string[] args) { 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();
    }
}
4

1 回答 1

1

很简单:如果您使用该方法,处理器中的特殊操作会检测到用于生成该字符串的错误类 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>

我在这个问题中寻找与 HTML 类似的东西。

于 2009-05-16T18:28:32.713 回答