Importing bad BlogML - better error messages

I'm currently moving to Oxite from a home grown blogging engine I wrote years ago. I wrote my own BlogML exporter to speed things up.
The BlogML I produced had a lot of problems, which I've now figured out by stepping through the BlogMLSave action method.

I've a few suggestions that could help make the error detection and messages better.
Although hopefully most people won't have the BlogML problems I've had, because they won't be writing their own blogML.

1. Badly formed XML

If there is a problem with the XML an exception is thrown and it is caught by this bit of code, which I modified slightly to give a more helpful warning in my case.

catch (Exception ex)
{
ModelState.AddModelErrors(validationState);
if (!string.IsNullOrEmpty(ex.Message))
{
ModelState.AddModelError("ModelName", ex.InnerException.Message);
}
return BlogML(areaInput);
}
I think it should be possible to use the information in the exception to give a very useful error message that shows a snippet of your XML where the problem is.

2. Missing <![CDATA[ --- ]]> tags in content

I missed off these tags and it caused the import to wrongly report it had been successful.The missing CDATA tags caused blogMLPost.Content.Text to be empty in the imported XML.This line checks for blank title and content and proceeds to the next post if either are blank:

I've uploaded my very quick and dirty blogML converter to Code gallery incase anyone esle is trying to do what I've done. It's not fab code, but it does the trick. It won't work out of the box, but
it should be a nice starting place for people wanting to get content out of a blogging engine they made themselves.