OPML Library for .NET Features


Full Implementation of OPML: Supports versions 1.0 and 2.0 (draft) with all constructs.

Development Environment: Complete integration with Visual Studio.NET 2003/Visual Studio 2005/Visual Web Developer

Integration with Windows RSS Platform Works with Internet Explorer 7.x Feeds Import/Export Wizard.

No knowledge of XML required: All underlying functions, including parsing, manipulating, and creating XML elements and attributes is handled internally by the library.

IntelliSense Enabled: Standard listing of properties and methods in Visual Studio.

100% Managed Code: The .NET assemblies run inside the .NET CLR (Common Language Runtime).

Use in Multiple Platforms: Use in a desktop application, a Web Service or in ASP.NET web page.

No need to write low level code (socket or TCP).

No file coding I/O Required: Reading and writing of OPML documents is easily acccomplished programmatically with a single method call of an OpmlDoc object.


To load an OPML document:
[C#]
1 OpmlDoc doc = OpmlDoc.Load(fileName or Url);
[Visual Basic]
1 Dim doc As OpmlDoc = OpmlDoc.Load(fileName or Url)

To save an OPML document:
[C#]
1 doc.Save("C:\\example.xml");
[Visual Basic]
1 doc.Save("C:\example.xml");

To create a new OPML document:
[C#]
1 //set license information 2 OpmlLicenseContext.SetLicenseInfo("D642-E09A-D742-1AC1-66EC-3ECB-XXXX-XXXX", 3 "username"); 4 5 // create OPML document 6 OpmlDoc doc = new OpmlDoc(); 7 Outline olAtom = new Outline(); 8 Outline olRss = new Outline(); 9 10 doc.Head.Title = "OPML.NET date handling demo"; 11 12 //RFC 822 DATE 13 doc.Head.DateCreated = "Mon, 21 Feb 05 15:30:00 GMT"; 14 //RFC 2822 15 doc.Head.DateModified = "Mon, 21 Feb 2005 15:30:00+0530"; 16 17 //RFC 1123 18 olRss.Created = "Mon, 21 Feb 2005 15:30:00 GMT"; 19 20 olRss.Type = "rss"; 21 olRss.Title = "News from Web20Tools (Rss)"; 22 olRss.Description = "News from Web20Tools .NET library for Web 2.0"; 23 olRss.XMLURL = "http://www.web20tools.net/blog/Feed/Rss.aspx?id=1"; 24 olRss.HTMLURL = "http://www.web20tools.net/blog/"; 25 26 //DUBLIN CORE 27 olAtom.Created = "2005-02-21T15:30:00+0530"; 28 29 olAtom.Type = "rss"; 30 olAtom.Title = "News from Web20Tools (Atom)"; 31 olAtom.Description = "News from Web20Tools .NET library for Web 2.0"; 32 olAtom.XMLURL = "http://www.web20tools.net/blog/Feed/Atom.aspx?id=1"; 33 olAtom.HTMLURL = "http://www.web20tools.net/blog/"; 34 35 doc.Body.Outlines.Add(olRss); 36 doc.Body.Outlines.Add(olAtom); 37 doc.Save("c:\\example.xml"); 38
[Visual Basic]
1 set license information 2 OpmlLicenseContext.SetLicenseInfo("D642-E09A-D742-1AC1-66EC-3ECB-XXXX-XXXX", 3 "username") 4 5 'Create an OPML document 6 Dim doc As OpmlDoc = New OpmlDoc() 7 Dim olAtom As Outline = New Outline() 8 Dim olRss As Outline = New Outline() 9 10 doc.Head.Title = "OPML.NET date handling demo" 11 12 'RFC 822 DATE 13 doc.Head.DateCreated = "Mon, 21 Feb 05 15:30:00 GMT" 14 'RFC 2822 15 doc.Head.DateModified = "Mon, 21 Feb 2005 15:30:00+0530" 16 'RFC 1123 17 olRss.Created = "Mon, 21 Feb 2005 15:30:00 GMT" 18 19 olRss.Type = "rss" 20 olRss.Title = "News from Web20Tools (Rss)" 21 olRss.Description = "News from Web20Tools .NET library for Web 2.0" 22 olRss.XMLURL = "http://www.web20tools.net/blog/Feed/Rss.aspx?id=1" 23 olRss.HTMLURL = "http://www.web20tools.net/blog/" 24 25 'DUBLIN CORE 26 olAtom.Created = "2005-02-21T15:30:00+0530" 27 28 olAtom.Type = "rss" 29 olAtom.Title = "News from Web20Tools (Atom)" 30 olAtom.Description = "News from Web20Tools .NET library for Web 2.0" 31 olAtom.XMLURL = "http://www.web20tools.net/blog/Feed/Atom.aspx?id=1" 32 olAtom.HTMLURL = "http://www.web20tools.net/blog/" 33 34 doc.Body.Outlines.Add(olRss) 35 doc.Body.Outlines.Add(olAtom) 36 doc.Save("c:\example.xml")
Produces OPML of:
[Output]
1 2 <?xml version="1.0"?> 3 <opml version="1.0"> 4 <head> 5 <title>OPML.NET date handling demo</title> 6 <dateCreated>Mon, 21 Feb 05 15:30:00 GMT</dateCreated> 7 <dateModified>Mon, 21 Feb 2005 15:30:00+0530</dateModified> 8 </head> 9 <body> 10 <outline type="rss" title="News from Web20Tools (Rss)" 11 description="News from Web20Tools .NET library for Web 2.0" 12 xmlUrl="http://www.web20tools.net/blog/Feed/Rss.aspx?id=1" 13 htmlUrl="http://www.web20tools.net/blog/" 14 created="Mon, 21 Feb 2005 15:30:00 GMT" /> 15 <outline type="rss" title="News from Web20Tools (Atom)" 16 description="News from Web20Tools .NET library for Web 2.0" 17 xmlUrl="http://www.web20tools.net/blog/Feed/Atom.aspx?id=1" 18 htmlUrl="http://www.web20tools.net/blog/" 19 created="2005-02-21T15:30:00+0530" /> 20 </body> 21 </opml> 22

Support for Strongly Typed Classes: Generation of strongly typed classes.

Merge Multiple OPML Documents: Lists can be backed up for archival purposes or combined, filtered and merged from a series of existing lists to create whole new lists.

Exception Handling and Logging: An extensive exception handling and logging framework which can log information about a given exception in a log file, the windows event log or send the HTML formatted exception information by email.

[C#]
1 try 2 { 3 DoSomething(); 4 } 5 catch (OpmlException ex) 6 { 7 ex.Log(); 8 }
[VisualBasic]
1 Try 2 DoSomething() 3 Catch ex As OpmlException 4 ex.Log() 5 End Try