In C# 6.0 you can use monadic Null-conditional operator ?.
After applying it in your example it would look like this:
var books = from book in booksXml.Descendants("book")
select new
{
Name = book.Attribute("name")?.Value ?? String.Empty,
Price = Convert.ToInt32(book.Attribute("price")?.Value ?? "0"),
Special = book.Attribute("special")?.Value ?? String.Empty
};
You can read more here in part titled Null-conditional operators.