Обновить значение XElement в XDocument? - PullRequest
3 голосов
/ 26 августа 2009

У меня есть XDocument с элементами X, такими как это:

<PageContent>
  <Text>My Text</Text>
  <Image>image.jpg</Image>
</PageContent>

Я хочу найти элемент Text и обновить его значение. У меня работает некоторое LINQ, но оно возвращает значение, а не позволяет мне обновить XElement и XDocument в ответ.

1 Ответ

8 голосов
/ 26 августа 2009

Вы не можете сделать это в одном операторе LINQ - LINQ о запросах, и вы делаете обновление. Вам следует использовать LINQ для запроса элементов, которые вы хотите обновить, а затем просмотреть список в foreach и применить изменения; e.g.:

var pageContents = doc./* ... */.Elements("PageContents").Where(...);
foreach (var pageContent in pageContents)
{
    pageContent.Element("Text").Value = "Foo";
    pageContent.Element("Image").Value = "bar.jpg";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...