繁体   English   中英

如何在c#中检查xDocument为null或Empty

[英]how to check xDocument is null or Empty in c#

我想在运行下面的代码后处理不包含任何数据的空文件,它会给出像缺少根元素这样的错误。

如何检查xDoc是 null 还是空?

string path = @"E:\Test.xml";
XDocument xDoc = XDocument.Load(path);

XDocument.Load 需要有效的 XML 文件。 否则会抛出异常。 您可以在调用 XDocument.Load 之前检查文件是否存在或为空,例如通过

if (new System.IO.FileInfo(path).Length > 0)
{
   ...
}

或者您可以捕获异常。

string path = @"E:\Test.xml";
try
{
    XDocument xDoc = XDocument.Load(path);
} catch(Exception) {
   // some problem
}

如果将此代码放入静态函数中,代码将更具可读性。

 var xDoc = MyXDocument.Load(path);
 if (xDoc != null)
 { .... 
 }

public class MyXDocument {
    public static XDocument Load(string path) {
        try
        {
             XDocument xDoc = XDocument.Load(path);
             return xDoc;
        } catch(Exception) {
            return null;
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM