/// <summary>
        /// Serializes the specified feed.
        /// </summary>
        /// <param name="feed">The feed.</param>
        /// <returns></returns>
        public static XmlDocument Serialize(IOpmlFeed feed)
        {
            XmlDocument doc = new XmlDocument();
            XmlElement root = AppendNewElement(doc, doc, "opml");
            AppendNewAttribute(doc, root, "version", "1.0");
            XmlElement head = AppendNewElement(doc, root, "head");
            if (feed.Head != null)
            {
                if (feed.Head.Title != null)
                {
                    AppendNewElement(doc, head, "title", feed.Head.Title);
                }
                if (feed.Head.DateCreated != null)
                {
                    AppendNewElement(doc, head, "dateCreated", feed.Head.DateCreated.DateTimeUtc.ToString("r"));
                }
                if (feed.Head.DateModified != null)
                {
                    AppendNewElement(doc, head, "dateModified", feed.Head.DateModified.DateTimeUtc.ToString("r"));
                }
                if (feed.Head.Owner != null)
                {
                    AppendNewElement(doc, head, "ownerName", feed.Head.Owner);
                }
                if (feed.Head.OwnerEmail != null)
                {
                    AppendNewElement(doc, head, "ownerEmail", feed.Head.OwnerEmail);
                }
                if (feed.Head.ExpansionState != null)
                {
                    AppendNewElement(doc, head, "expansionState", feed.Head.ExpansionState);
                }
                if (feed.Head.VerticalScrollState != null)
                {
                    AppendNewElement(doc, head, "vertScrollState", feed.Head.VerticalScrollState.Value.ToString());
                }
                if (feed.Head.WindowBottom != null)
                {
                    AppendNewElement(doc, head, "windowBottom", feed.Head.WindowBottom.Value.ToString());
                }
                if (feed.Head.WindowTop != null)
                {
                    AppendNewElement(doc, head, "windowTop", feed.Head.WindowTop.Value.ToString());
                }
                if (feed.Head.WindowLeft != null)
                {
                    AppendNewElement(doc, head, "windowLeft", feed.Head.WindowLeft.Value.ToString());
                }
                if (feed.Head.WindowRight != null)
                {
                    AppendNewElement(doc, head, "windowRight", feed.Head.WindowRight.Value.ToString());
                }
            }

            XmlElement body = AppendNewElement(doc, root, "body");
            SerializeOutlines(doc, body, feed.Body);
            return doc;
        }
 /// <summary>
 /// Serializes to string.
 /// </summary>
 /// <param name="feed">The feed.</param>
 /// <returns></returns>
 public static string SerializeToString(IOpmlFeed feed)
 {
     return Serialize(feed).OuterXml;
 }
Exemple #3
0
        /// <summary>
        /// Serializes the specified feed.
        /// </summary>
        /// <param name="feed">The feed.</param>
        /// <returns></returns>
        public static XmlDocument Serialize(IOpmlFeed feed)
        {
            XmlDocument doc  = new XmlDocument();
            XmlElement  root = AppendNewElement(doc, doc, "opml");

            AppendNewAttribute(doc, root, "version", "1.0");
            XmlElement head = AppendNewElement(doc, root, "head");

            if (feed.Head != null)
            {
                if (feed.Head.Title != null)
                {
                    AppendNewElement(doc, head, "title", feed.Head.Title);
                }
                if (feed.Head.DateCreated != null)
                {
                    AppendNewElement(doc, head, "dateCreated", feed.Head.DateCreated.DateTimeUtc.ToString("r"));
                }
                if (feed.Head.DateModified != null)
                {
                    AppendNewElement(doc, head, "dateModified", feed.Head.DateModified.DateTimeUtc.ToString("r"));
                }
                if (feed.Head.Owner != null)
                {
                    AppendNewElement(doc, head, "ownerName", feed.Head.Owner);
                }
                if (feed.Head.OwnerEmail != null)
                {
                    AppendNewElement(doc, head, "ownerEmail", feed.Head.OwnerEmail);
                }
                if (feed.Head.ExpansionState != null)
                {
                    AppendNewElement(doc, head, "expansionState", feed.Head.ExpansionState);
                }
                if (feed.Head.VerticalScrollState != null)
                {
                    AppendNewElement(doc, head, "vertScrollState", feed.Head.VerticalScrollState.Value.ToString());
                }
                if (feed.Head.WindowBottom != null)
                {
                    AppendNewElement(doc, head, "windowBottom", feed.Head.WindowBottom.Value.ToString());
                }
                if (feed.Head.WindowTop != null)
                {
                    AppendNewElement(doc, head, "windowTop", feed.Head.WindowTop.Value.ToString());
                }
                if (feed.Head.WindowLeft != null)
                {
                    AppendNewElement(doc, head, "windowLeft", feed.Head.WindowLeft.Value.ToString());
                }
                if (feed.Head.WindowRight != null)
                {
                    AppendNewElement(doc, head, "windowRight", feed.Head.WindowRight.Value.ToString());
                }
            }

            XmlElement body = AppendNewElement(doc, root, "body");

            SerializeOutlines(doc, body, feed.Body);
            return(doc);
        }
Exemple #4
0
 /// <summary>
 /// Serializes to string.
 /// </summary>
 /// <param name="feed">The feed.</param>
 /// <returns></returns>
 public static string SerializeToString(IOpmlFeed feed)
 {
     return(Serialize(feed).OuterXml);
 }