XmlDocument LoadFileOrData (string filename, string data)
{
XmlDocument document = new XmlDocument ();
if (!String.IsNullOrEmpty (filename)) {
Uri uri;
if (Uri.TryCreate (filename, UriKind.Absolute, out uri))
document.Load (filename);
else
document.Load (MapPathSecure (filename));
} else
if (!String.IsNullOrEmpty (data))
document.LoadXml (data);
return document;
}