Следующий код работает, но только до тех пор, пока каждый элемент XML имеет атрибут "Id".
Однако, если элемент не имеет атрибута id, LINQ генерирует исключение NullReferenceException.
Как мне указать, что если атрибут Id отсутствует, просто присвойте ему значение NULL или пробел?
using System;
using System.Linq;
using System.Xml.Linq;
namespace TestXmlElement2834
{
class Program
{
static void Main(string[] args)
{
XElement content = new XElement("content",
new XElement("item", new XAttribute("id", "4")),
new XElement("item", new XAttribute("idCode", "firstForm"))
);
var contentItems = from contentItem in content.Descendants("item")
select new ContentItem
{
Id = contentItem.Attribute("id").Value
};
foreach (var contentItem in contentItems)
{
Console.WriteLine(contentItem.Id);
}
Console.ReadLine();
}
}
class ContentItem
{
public string Id { get; set; }
public string IdCode { get; set; }
}
}