/// <summary> /// Gets the document. /// </summary> /// <param name="root">The root.</param> /// <param name="ns">The conventional namespace.</param> public static OpmlDocument GetDocument(XContainer root, XNamespace ns) { if (root == null) { return(null); } var data = new OpmlDocument { OpmlBody = GetBody(root.Element(ns.ToXName("body")), ns), OpmlHead = GetHead(root.Element(ns.ToXName("head")), ns) }; return(data); }
/// <summary> /// Gets the head. /// </summary> /// <param name="root">The root.</param> /// <param name="ns">The namespace.</param> public static OpmlHead GetHead(XContainer root, XNamespace ns) { if (root == null) { return(null); } var ownerEmail = ns.ToXName("ownerEmail"); var ownerName = ns.ToXName("ownerName"); var title = ns.ToXName("title"); var dateCreated = ns.ToXName("dateCreated"); var dateModified = ns.ToXName("dateModified"); return(GetHead(root, ownerEmail, ownerName, title, dateCreated, dateModified)); }
/// <summary> /// Gets the outlines. /// </summary> /// <param name="root">The root.</param> /// <param name="ns">The namespace.</param> public static OpmlOutline[] GetOutlines(XContainer root, XNamespace ns) { if (root == null) { return(null); } var data = new List <OpmlOutline>(); root .Elements(ns.ToXName("outline")) .ForEachInEnumerable(o => { var outline = GetOutline(o, ns); if (outline != null) { outline.Outlines = GetOutlines(o, ns); data.Add(outline); } }); return(data.ToArray()); }