Мне не совсем понятно, что вы пытаетесь сделать. Если description
содержит «DATABASE Up», вы хотите, чтобы значение arrow
было «up», иначе что? пустой
string arrow = null;
if (xmlitem.Element("description").Value.Contains("DATABASE Up"))
{
arrow = ("up");
}
или
var arrow = (xmlitem.Element("description").Value.Contains("DATABASE Up"))
? "up" : null;
EDIT
А почему вы устанавливаете DATABASEinfoList.ItemsSource = list
как внутри цикла foreach, так и снова снаружи? Тот, что внутри, вероятно, должен уйти.
Кроме того, существует внутренняя проблема, показанная вашим комментарием в ответе Мика. Эти звонки:
item.Element("[elementName]").Value
предположим, что элемент существует. Если этого не произойдет, вы вызовете Value
Property get для NULL, выбрасывая NullReferenceException. Если есть вероятность, что элемент будет нулевым, вам нужно проверить это перед вызовом Value:
var element = item.Element("[elementName]");
var value = (element == null) ? null : element.Value;