Парсинг XML-документа, в котором некоторые поля могут отсутствовать - C#
Формулировка задачи:
Есть такой XML-файл:
Как видно, что во втором элементе "shop "нету "<price>"
Как спарсить так, что если нету "<price>" значит записывать пустое значение в переменную?
<shop> <title>Any product</title> <price>10.1</price> </shop> <shop> <title>Car</title> </shop> <shop> <title>Food</title> <price>15</price> </shop>
Решение задачи: «Парсинг XML-документа, в котором некоторые поля могут отсутствовать»
textual
Листинг программы
using System.Linq;
using System.Xml.Linq;
class Class5
{
static void Main()
{
XDocument xDocument = XDocument.Parse(@"<foo>
<shop>
<title>Any product</title>
<price>10.1</price>
</shop>
<shop>
<title>Car</title>
</shop>
<shop>
<title>Food</title>
<price>15</price>
</shop>
</foo>");
var q = xDocument.Descendants("shop").Select(n => new
{
title = n.Element("title").Value,
price = n.Element("price") != null ? n.Element("price").Value : null
}).ToList();
}
}