解析多个xml文件时如何检查空xml文件[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析多个xml文件时如何检查空xml文件[重复]相关的知识,希望对你有一定的参考价值。

我试图循环一个目录来搜索所有的xml文件。我通过执行Directory.EnumerateFiles并找到每个.xml类型来实现这一目标。现在的情况是,有一些随机的xml文件是空的,没有写入信息。我想检查所有没有任何信息的文件。

foreach (string file in Directory.EnumerateFiles("/xmlFiles", "*.xml", SearchOption.AllDirectories))
{
    //Find the XML File
    XDocument doc = XDocument.Load(file);

    //Check if the XDocument doc has no root element 
    if (doc == null)
    {
        Console.WriteLine(File + " has NO root element");
    }
    else
    {
        Console.WriteLine(File + " has a root element");
    }
}

我尝试在解析xml文件后执行if else语句将文件与null进行比较,但在加载文件之前我得到一个错误,然后才能进行比较。

错误:System.Xml.XmlException:'缺少根元素。'

答案

总是可以尝试捕捉,看看它是否为空。 Dup问题How to check if xml file is empty or not using c#

   try
{
    XmlDocument doc = new XmlDocument();
    doc.Load("some.xml");
}
catch (XmlException exc)
{
    //invalid file
}

以上是关于解析多个xml文件时如何检查空xml文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iphone 中解析多个 .xml 文件?

使用 XSLT 进行空前缀转换的 XML [重复]

如何将多个 XML 文件解析为多个 CSV 文件?

XML文件的Java通用解析[重复]

如何在 python 代码中解析多个 xml 文件?

解析 XML 文件以在网站上使用 [重复]