public ActionResult Item(int id) { var item = _repository.Get(id); if (item != null) { try { var itemXmlWriter = new ItemXmlWriter(Context.Current.Definitions, null, null); var exporter = new Exporter(itemXmlWriter); var ms = new MemoryStream(); var tw = new StreamWriter(ms); { exporter.Export(item, ExportOptions.ExcludeAttachments | ExportOptions.ExcludePages, tw); } ms.Position = 0; return(new FileStreamResult(ms, "application/xml")); } catch (Exception ex) { return(Content(ex.Message, "text/plain")); } } return(new EmptyResult()); }
public virtual void TestFixtureSetUp() { definitions = TestSupport.SetupDefinitions(typeof(Definitions.PersistableItem), typeof(Definitions.PersistablePart)); writer = new ItemXmlWriter( definitions, TestSupport.SetupFileSystem()); reader = new ItemXmlReader( definitions, TestSupport.SetupContentActivator()); }
public void ExportItem(ContentItem item) { // no UrlParser and FS -> cannot export Attachments var itemXmlWriter = new ItemXmlWriter(_definitions, null, null); var exporter = new Exporter(itemXmlWriter); var path = _path + '/' + GetContentItemFilenameUnique(item.ID); using (var ms = new MemoryStream()) { using (var tw = new StreamWriter(ms)) { lock (_syncLock) { // Nhibernate doesn't like parallel ? exporter.Export(item, ExportOptions.ExcludeAttachments | ExportOptions.ExcludePages, tw); } // Save to FS ms.Position = 0; _fs.WriteFile(path, ms, item.Published); } } }
private XPathNavigator WriteToStreamAndNavigate(ContentItem item) { ItemXmlWriter writer = CreateWriter(); StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); XmlTextWriter xmlOutput = new XmlTextWriter(sw); xmlOutput.Formatting = Formatting.Indented; xmlOutput.WriteStartDocument(); xmlOutput.WriteStartElement("n2"); writer.Write(item, ExportOptions.Default, xmlOutput); xmlOutput.WriteEndElement(); xmlOutput.WriteEndDocument(); XmlDocument xd = new XmlDocument(); xd.LoadXml(sb.ToString()); return(xd.CreateNavigator()); }