更新XDocument中的XElement值?

Jon*_*Jon 3 linq linq-to-xml

我有一个XDocument与XElements,如下所示:

<PageContent>
  <Text>My Text</Text>
  <Image>image.jpg</Image>
</PageContent>
Run Code Online (Sandbox Code Playgroud)

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

Pav*_*aev 8

您无法在单个LINQ语句中执行此操作 - LINQ是关于查询的,并且您正在进行更新.您应该使用LINQ查询要更新的元素,然后浏览列表foreach并应用更改; 例如:

var pageContents = doc./* ... */.Elements("PageContents").Where(...);
foreach (var pageContent in pageContents)
{
    pageContent.Element("Text").Value = "Foo";
    pageContent.Element("Image").Value = "bar.jpg";
}
Run Code Online (Sandbox Code Playgroud)