2
我有一个XElements的XDocument像这样:更新XDocument中的XElement值?
<PageContent>
<Text>My Text</Text>
<Image>image.jpg</Image>
</PageContent>
我想找到的文本元素和更新它的值。我有一些LINQ工作,但它返回的值,而不是让我更新XElement和XDocument作为回报。
我有一个XElements的XDocument像这样:更新XDocument中的XElement值?
<PageContent>
<Text>My Text</Text>
<Image>image.jpg</Image>
</PageContent>
我想找到的文本元素和更新它的值。我有一些LINQ工作,但它返回的值,而不是让我更新XElement和XDocument作为回报。
你不能在单个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";
}
我这样做: VAR Q = XMLData.Descendants( “PageContent”)后代()的SingleOrDefault(X => x.Name == item.Key); q.Value = item.Value; 但是,当我看看XMLData没有任何变化 – Jon 2009-08-26 20:22:06
您的查询听起来不错。如果你没有看到变化,那很可能是因为你检查它的方式。你可以发布你用来验证变更发生的代码吗? – 2009-08-26 21:21:21
add doc.Save(...); – WhiteWolfza 2017-05-05 11:23:24