Ich denke, die einzige Möglichkeit ist, eine Ausnahme abzufangen, wenn Sie versuchen, es zu laden, etwa so:
try
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(Server.MapPath("XMLFile.xml"));
}
catch (System.Xml.XmlException xmlEx)
{
if (xmlEx.Message.Contains("Root element is missing"))
{
// Xml file is empty
}
}
Ja, es entsteht ein gewisser Overhead, aber Sie sollten solche Überprüfungen ohnehin durchführen. Man sollte Eingaben nie vertrauen und die einzige Möglichkeit, zuverlässig zu überprüfen, ob es sich um XML handelt, ist, sie wie XML zu behandeln und zu sehen, was .NET dazu sagt!