В моем случае мне пришлось проверить, существует ли узел «Примечания» или нет, и обработать оба случая, а также любые апострофы в текстовых строках (этот код используется для создания строк вставки MySQL).Я заключаю строку, если она существует в одинарных кавычках, и заменяю апострофы на удвоенные, или просто вставляю NULL, если узел не существует.Я не имею никакого контроля над XML-клиентом, который создает XML-файлы, и у меня есть буквально десятки тысяч из них, чтобы проанализировать их, так что вот что я придумала, это работает:
var items =
from e in creationItems
select new
{
//other values
Notes = e.Descendants("Notes").Any() ? "'" + e.Descendants("Notes").First().Value.Replace("'", "''") + "'" : "NULL"
};
Я не могвыясните, как правильно добавить это как комментарий, так что это всего лишь дополнение к отличному ответу @ Frédéric Hamidi.Это может быть полезно для других людей в моем затруднительном положении.Это значительно уменьшает мой код разбора, поэтому это отличное решение.