Converting a Windows Live Spaces blog to BlogML
My old blog resided in Windows Live Spaces, and I needed a way to move all its contents to the new place. I was quickly introduced BlogML, which is an XML standard that represents the entire contents of a blog. Still, I needed a way to convert a Live Space to BlogML, and I found a converter created by Jason Stangroome. It works by requiring you to enable e-mail publishing for your live space, and then uses the Live Space MetaWeblog API to do the conversion.
Jason's work is great, and can be obtained from the BlogML repository (you won't find it in the latest release). The thing is, his solution requires you to write some code (although fairly simple) to use it, so I decided to create a simple GUI for it. I wanted to practice some WPF anyway, so I picked up my newly downloaded VS 2008 Beta 2, and wrote up a simple application. It's not much, but it will save you some trouble if you need this conversion. Also, WPF-wise, it probably won't be best-practice code, as I am new to WPF and to Smart-Client development in general.
That's how it looks:

The code that actually does the conversion is only a few lines, thanks to Jason's great work.
using (XmlWriter writer = XmlWriter.Create(options.OutputPath))
{
LiveSpaceBlogMLWriter liveSpaceWriter = new LiveSpaceBlogMLWriter(options.BlogName,
options.SecretWord);
if (options.PostCount != null)
liveSpaceWriter.PostCount = options.PostCount.Value;
liveSpaceWriter.Write(writer);
}
This will convert all your posts and categories. Things that will not get converted are:
- The comments - the main limitation. Hopefully Jason can get this fixed in a newer version.
- Your lists - you'll have to move that "Blog Roll" section on your own.
- Links inside your blog. If you have links from one post to another post, the links will still direct you to your older blog.
You can download the binaries here, and the source here. Note that the binaries require .NET 3.0 to run, and that the source require VS 2008 beta 2 to open.
Enjoy!