Reputation: 40032
I have a XDocument with XElements such as this:
<PageContent>
<Text>My Text</Text>
<Image>image.jpg</Image>
</PageContent>
I want to find the Text element and update its value. I have some LINQ working but its returning the value rather than allowing me to update the XElement and XDocument in return.
Upvotes: 3
Views: 6500
Reputation: 101555
You can't do it in a single LINQ statement - LINQ is about queries, and you're doing an update. You should use LINQ to query for elements you want to update, and then go through the list in foreach
and apply the changes; e.g.:
var pageContents = doc./* ... */.Elements("PageContents").Where(...);
foreach (var pageContent in pageContents)
{
pageContent.Element("Text").Value = "Foo";
pageContent.Element("Image").Value = "bar.jpg";
}
Upvotes: 8