// Entry point. public static void Main(string[] args) { string filename = "temp.xml"; ManagedNodeWriter mw = new ManagedNodeWriter(filename); ManagedNodeWriter mnw = new ManagedNodeWriter(); mnw.PutPattern("X"); int count = 0; do { mnw.PutPattern("E/"); count++; } while (count < 65536); mnw.PutText("<a/>"); mnw.Finish(); StreamWriter sw = new StreamWriter(FilePathUtil.getStream("deep.xml")); sw.Write(mnw.GetNodes()); sw.Dispose(); }
XmlWriter CreateWriterImpl() { this.CleanUp(); switch (writerType1) { case WriterType.UTF8Writer: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; _wSettings.Encoding = Encoding.UTF8; _wSettings.NamespaceHandling = NamespaceHandling.Default; _xmlWriter = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); break; case WriterType.UnicodeWriter: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; _wSettings.Encoding = Encoding.Unicode; _wSettings.NamespaceHandling = NamespaceHandling.OmitDuplicates; _xmlWriter = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); break; case WriterType.CustomWriter: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; if (_overrideAsync) { _wSettings.Async = _async; } _xmlWriter = new CustomWriter(_writerStream, _wSettings); FilePathUtil.addStream(_fileName, _writerStream); break; case WriterType.UTF8WriterIndent: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; _wSettings.Encoding = Encoding.UTF8; _wSettings.Indent = true; _xmlWriter = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); break; case WriterType.UnicodeWriterIndent: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; _wSettings.Encoding = Encoding.Unicode; _wSettings.Indent = true; _xmlWriter = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); break; case WriterType.CharCheckingWriter: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; _wSettings.CheckCharacters = false; XmlWriter ww = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); XmlWriterSettings ws = _wSettings.Clone(); ws.CheckCharacters = true; _xmlWriter = WriterHelper.Create(ww, ws, _overrideAsync, _async); break; case WriterType.WrappedWriter: _writerStream = new MemoryStream(); _wSettings.CloseOutput = false; XmlWriter w = WriterHelper.Create(_writerStream, _wSettings, _overrideAsync, _async); FilePathUtil.addStream(_fileName, _writerStream); _xmlWriter = WriterHelper.Create(w, _wSettings, _overrideAsync, _async); break; default: throw new Exception("Incorrect writer type"); } return(_xmlWriter); }
public CustomWriter(string filename, XmlWriterSettings xws) { _writer = XmlWriter.Create(FilePathUtil.getStream(filename), xws); }
/// /// Overloaded Constructor with FileName to Write /// public ManagedNodeWriter(string filename) { Init(); _textWriter = new StreamWriter(FilePathUtil.getStream(filename)); }