Ejemplo n.º 1
0
        /// <summary>
        ///		Añade los elementos al XML
        /// </summary>
        private void AddEntries(MLNode parent, OPMLEntriesCollection entries)
        {
            foreach (OPMLEntry entry in entries)
            {
                MLNode node = parent.Nodes.Add(OPMLConstTags.cnstStrOutline);

                // Añade los atributos
                if (!string.IsNullOrEmpty(entry.Type))
                {
                    node.Attributes.Add(OPMLConstTags.cnsttype, entry.Type);
                }
                if (!string.IsNullOrEmpty(entry.Text))
                {
                    node.Attributes.Add(OPMLConstTags.cnsttext, entry.Text);
                }
                if (!string.IsNullOrEmpty(entry.URL))
                {
                    node.Attributes.Add(OPMLConstTags.cnsturl, entry.URL);
                }
                if (entry.DateCreated != DateTime.MinValue)
                {
                    node.Attributes.Add(OPMLConstTags.cnstStrCreated,
                                        DateTimeHelper.ToStringRfc822(entry.DateCreated));
                }
                // Nodos
                AddEntries(node, entry.Entries);
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 ///		Interpreta las entradas de un archivo XML
 /// </summary>
 private void ParseEntries(MLNodesCollection nodes, OPMLEntriesCollection entries)
 {
     foreach (MLNode node in nodes)
     {
         switch (node.Name)
         {
         case OPMLConstTags.cnstStrOutline:
             entries.Add(ParseEntry(node));
             break;
         }
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 ///		Añade las entradas de un archivo OPML a una carpeta
 /// </summary>
 private void AddEntries(Model.FolderModel folder, OPMLEntriesCollection entries)
 {
     foreach (OPMLEntry entry in entries)
     {
         if (entry.Entries.Count == 0 && !entry.URL.IsEmpty())
         {
             folder.Blogs.Add(entry.Text, entry.Title, entry.URL);
         }
         else if (entry.Entries.Count > 0)
         {
             AddEntries(folder.Folders.Add(entry.Text), entry.Entries);
         }
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        ///		Añade una carpeta a la colección de entrada
        /// </summary>
        private void AddFolder(Model.FolderModel folder, OPMLEntriesCollection entries)
        {
            OPMLEntry entry = CreateEntry(folder.Name, "Folder", null, null);

            // Añade la entrada a la colección
            entries.Add(entry);
            // Añade las carpetas
            foreach (Model.FolderModel child in folder.Folders)
            {
                AddFolder(child, entry.Entries);
            }
            // Añade los blogs
            foreach (Model.BlogModel blog in folder.Blogs)
            {
                AddBlog(blog, entry.Entries);
            }
        }
Ejemplo n.º 5
0
 public OPMLChannel()
 {
     Entries = new OPMLEntriesCollection();
 }
Ejemplo n.º 6
0
 /// <summary>
 ///		Añade un blog a la colección de entradas
 /// </summary>
 private void AddBlog(Model.BlogModel blog, OPMLEntriesCollection entries)
 {
     entries.Add(CreateEntry(blog.Name, "Blog", blog.Description, blog.URL));
 }
Ejemplo n.º 7
0
 public OPMLEntry()
 {
     Entries = new OPMLEntriesCollection();
 }