我有一个带有XElements的XDocument,例如:
<PageContent>
<Text>My Text</Text>
<Image>image.jpg</Image>
</PageContent>
我想找到Text元素并更新其值。我有一些LINQ工作,但它返回值而不是允许我更新XElement和XDocument作为回报。
答案 0 :(得分:8)
您无法在单个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";
}