更新XDocument中的XElement值?

时间:2009-08-26 19:34:10

标签: linq linq-to-xml

我有一个带有XElements的XDocument,例如:

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

我想找到Text元素并更新其值。我有一些LINQ工作,但它返回值而不是允许我更新XElement和XDocument作为回报。

1 个答案:

答案 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";
}