我发现确定解析某些 XML 的最佳方法令人费解。似乎它们有很多可能的方法,但没有一个真正吸引我。
我目前的尝试看起来像这样:
XElement xelement = XElement.Parse(xmlText);
var name = xelement.Element("Employee").Attribute("name").Value;
所以,这行得通。但如果缺少“Employee”元素或“name”属性,则会引发异常。我不想抛出异常。
探索一些在线可用的示例,我看到如下代码:
XElement xelement = XElement.Load("..\\..\\Employees.xml");
IEnumerable<XElement> employees = xelement.Elements();
Console.WriteLine("List of all Employee Names :");
foreach (var employee in employees)
{
Console.WriteLine(employee.Element("Name").Value);
}
这似乎会遇到完全相同的问题。如果“名称”元素不存在,则Element()
返回null
并且调用该Value
属性时出错。
我需要一些块,比如上面的第一个代码片段。是否有一种简单的方法可以让它工作并且如果缺少某些数据而不抛出异常?