Я использую Linq для Xml для анализа некоторых сообщений xml, исходящих из старой системы. Одно из сообщений поступает как пары Name/Value. Поэтому я выполняю поиск по имени, а затем пытаюсь получить эквивалентное значение. Однако, когда значение пусто (<Value/>
), мой код выбрасывает ошибку Input string was not in a correct format.
Linq to Xml - Input String
Я пытаюсь найти лучший способ решить эту проблему. Любые предложения были бы с благодарностью (Пытаемся заполнить свойство с помощью NULL int int int).
Код Пример:
myRecord.myField= xdoc.Descendants("Information")
.Where(x => (string)x.Element("Name") == "myField")
.Select(x => (int?)x.Element("Value")).FirstOrDefault();
XML-фрагмент:
<Information>
<Name>myField</Name>
<Value />
</Information>
Всегда оценить обратную связь/вход.
Благодаря,
S
Выбросите NullReferenceException, когда нет такого элемента (что, вероятно, не место здесь, но стоит знать) – MarcinJuraszek
@MarcinJuraszek Неа, он не будет Это условие будет обрабатывать без вести элемент '(v == null || v.IsEmpty) ' –
Хм, вам пришлось обновить ваш ответ, пока я печатал :) – MarcinJuraszek