public string GetLogName(string config)
{
XDocument xDoc = XDocument.Load(config);
XElement[] elements = xDoc.Descendants("listeners").Descendants("add").ToArray();
foreach (var element in elements)
{
if (element.Attribute("fileName").Value != null)
{
string filename = element.Attribute("fileName").Value;
int location = filename.IndexOf("%");
Console.WriteLine("string to return: " + filename.Substring(0, location));
return filename.Substring(0, location);
}
}
}
Я пытаюсь получить атрибут «fileName» из каждого элемента в массиве elements, но в некоторых случаях атрибут «fileName» не существует и выдает следующую ошибку: NullReferenceException не было обработано. В экземпляре объекта не задана ссылка на объект.
В моем случае есть два узла добавления, у которых нет атрибута fileName, но у третьего узла добавления он есть.
Как я могу пропустить записи, у которых нет атрибута fileName, или вы можете порекомендовать лучший способ получить этот атрибут?
NullReferenceException
одинаковы. Пожалуйста, см. Что такое NullReferenceException в .NET? для некоторых советов. - person John Saunders   schedule 17.10.2013