} // RtfXmlConverter // ---------------------------------------------------------------------- public RtfXmlConverter(IRtfDocument rtfDocument, XmlWriter writer, RtfXmlConvertSettings settings) { if (rtfDocument == null) { throw new ArgumentNullException("rtfDocument"); } if (writer == null) { throw new ArgumentNullException("writer"); } if (settings == null) { throw new ArgumentNullException("settings"); } this.rtfDocument = rtfDocument; this.writer = writer; this.settings = settings; } // RtfXmlConverter
// ---------------------------------------------------------------------- public RtfXmlConverter( IRtfDocument rtfDocument, XmlWriter writer, RtfXmlConvertSettings settings ) { if ( rtfDocument == null ) { throw new ArgumentNullException( "rtfDocument" ); } if ( writer == null ) { throw new ArgumentNullException( "writer" ); } if ( settings == null ) { throw new ArgumentNullException( "settings" ); } this.rtfDocument = rtfDocument; this.writer = writer; this.settings = settings; }
// ---------------------------------------------------------------------- private void ConvertXml( IRtfDocument rtfDocument ) { try { XmlWriterSettings xmlWriterSettings = new XmlWriterSettings(); xmlWriterSettings.Indent = true; xmlWriterSettings.IndentChars = ( " " ); xmlWriterSettings.Encoding = settings.Encoding; string fileName = settings.BuildDestinationFileName( null, RtfXmlConverter.DefaultXmlFileExtension ); using ( XmlWriter writer = XmlWriter.Create( fileName, xmlWriterSettings ) ) { RtfXmlConvertSettings xmlConvertSettings = new RtfXmlConvertSettings(); xmlConvertSettings.Prefix = settings.XmlPrefix; xmlConvertSettings.Ns = settings.XmlNamespace; xmlConvertSettings.IsShowHiddenText = settings.ShowHiddenText; RtfXmlConverter xmlConverter = new RtfXmlConverter( rtfDocument, writer, xmlConvertSettings ); xmlConverter.Convert(); writer.Flush(); } } catch ( Exception e ) { Console.WriteLine( "error while converting to xml: " + e.Message ); ExitCode = ProgramExitCode.ConvertXml; } }