private void IE7ButtonClick(object sender, RoutedEventArgs e)
{
IFeedsManager manager = new FeedsManagerClass();
IFeedFolder rootFolder = (IFeedFolder)manager.RootFolder;
RssComboBox.ItemsSource = rootFolder.Feeds as IEnumerable;
RssComboBox.DisplayMemberPath = "Name";
/// Below is the Code i Removed
string pathToExport = "D:\\temp\\feeds.opml";
pathToExport = ListBox.ItemsSource;
FeedsManager mgr = new FeedsManager();
Queue<IFeedFolder> queue = new Queue<IFeedFolder>();
queue.Enqueue(mgr.RootFolder as IFeedFolder);
while (queue.Count > 0) {
IFeedFolder currentFolder = queue.Dequeue();
IFeedsEnum subFolders = (IFeedsEnum)currentFolder.Subfolders;
for (int i = 0; i < subFolders.Count; i++)
{
queue.Enqueue((IFeedFolder)subFolders.Item(i));
}
using (XmlWriter opml = XmlWriter.Create(pathToExport))
{
opml.WriteStartDocument();
opml.WriteStartElement("opml");
opml.WriteAttributeString("version", "1.0");
IFeedsEnum feeds = (IFeedsEnum)currentFolder.Feeds;
for (int i = 0; i < feeds.Count; i++)
{
IFeed feed = (IFeed)feeds.Item(i);
try
{
if (!string.IsNullOrEmpty(feed.Title)
&& !string.IsNullOrEmpty(feed.DownloadUrl))
{
opml.WriteStartElement("outline");
opml.WriteAttributeString("title", feed.Title);
opml.WriteAttributeString("xmlUrl", feed.url);
opml.WriteEndElement();
}
}
catch (COMException COe)
{
Console.WriteLine(
"Error getting feed: {0}",
e.Message);
}
}
}