如何在 C# 中检查 xDocument 为 null 或 Empty
how to check xDocument is null or Empty in c#
我想处理不包含任何数据的空文件
在下面的代码 运行 之后,它会给出错误,例如缺少根元素。
如何检查 xDoc
是否为空?
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;
}
}
}
我想处理不包含任何数据的空文件 在下面的代码 运行 之后,它会给出错误,例如缺少根元素。
如何检查 xDoc
是否为空?
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;
}
}
}