/// <summary> /// Exports an <see cref="IMedia"/> item to xml as an <see cref="XElement"/> /// </summary> /// <param name="media">Media to export</param> /// <param name="deep">Optional parameter indicating whether to include descendents</param> /// <returns><see cref="XElement"/> containing the xml representation of the Media object</returns> internal XElement Export(IMedia media, bool deep = false) { //nodeName should match Casing.SafeAliasWithForcingCheck(content.ContentType.Alias); var nodeName = UmbracoSettings.UseLegacyXmlSchema ? "node" : media.ContentType.Alias.ToSafeAliasWithForcingCheck(); var xml = Export(media, nodeName); xml.Add(new XAttribute("nodeType", media.ContentType.Id)); xml.Add(new XAttribute("writerName", media.GetCreatorProfile().Name)); xml.Add(new XAttribute("writerID", media.CreatorId)); xml.Add(new XAttribute("version", media.Version)); xml.Add(new XAttribute("template", 0)); xml.Add(new XAttribute("nodeTypeAlias", media.ContentType.Alias)); if (deep) { var descendants = media.Descendants().ToArray(); var currentChildren = descendants.Where(x => x.ParentId == media.Id); AddChildXml(descendants, currentChildren, xml); } var medias = new XElement("MediaSet", xml); return(medias); }
/// <summary> /// Exports an <see cref="IMedia"/> item to xml as an <see cref="XElement"/> /// </summary> /// <param name="media">Media to export</param> /// <param name="deep">Optional parameter indicating whether to include descendents</param> /// <returns><see cref="XElement"/> containing the xml representation of the Media object</returns> internal XElement Export(IMedia media, bool deep = false) { //nodeName should match Casing.SafeAliasWithForcingCheck(content.ContentType.Alias); var nodeName = UmbracoSettings.UseLegacyXmlSchema ? "node" : media.ContentType.Alias.ToSafeAliasWithForcingCheck(); var xml = Export(media, nodeName); xml.Add(new XAttribute("nodeType", media.ContentType.Id)); xml.Add(new XAttribute("writerName", media.GetCreatorProfile().Name)); xml.Add(new XAttribute("writerID", media.CreatorId)); xml.Add(new XAttribute("version", media.Version)); xml.Add(new XAttribute("template", 0)); xml.Add(new XAttribute("nodeTypeAlias", media.ContentType.Alias)); if (deep) { var descendants = media.Descendants().ToArray(); var currentChildren = descendants.Where(x => x.ParentId == media.Id); AddChildXml(descendants, currentChildren, xml); } return xml; }