توليد حيوي RDLC - ما توقف لي من استخدام ب StringBuilder لبناء XML

StackOverflow https://stackoverflow.com/questions/872867

سؤال

وأنا بناء على تقرير المحلي. بسبب بعض القيود المفروضة على الملكية المخفية، ولست بحاجة لإنشاء التقرير بشكل حيوي.

ولقد وجدت بعض الوثائق هنا .

وعنصر تحكم ReportViewer يحتاج الى تيار.

وأنا لا أحب الطريقة التي يتم استخدامها في الوثائق. وبناء XmlDocument ليس جدا للقراءة المنظمة البحرية الدولية.

هل هناك شيء يمنعني من القيام بذلك من هذا القبيل

<اقتباس فقرة>   

وبرنامج الطبقة       {           ساكنة باطلة الرئيسي (سلسلة [] وسائط)           {               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>

وكنت أبحث عن شيء مماثل لHTML في هذا السؤال .

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top