C#如何使用Linq更改Xml节点值 [英] C# How to change Xml node values using Linq
本文介绍了C#如何使用Linq更改Xml节点值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用Linq用另一个值替换节点值some value
.
最后,我需要一个带有替换值的字符串.
How can I replace the node value some value
with another value using Linq.
Finally I need a string with the replaced value.
Xml:
<ROOT>
<A>
<A1>
<elementA1></elementA1>
</A1>
<A2>
<elementA2>some value</elementA2>
</A2>
</A>
</ROOT>
C#:
XDocument xDoc = XDocument.Parse(@"<ROOT>
<A>
<A1>
<elementA1></elementA1>
</A1>
<A2>
<elementA2>Some value</elementA2>
</A2>
</A>
</ROOT>");
xDoc.Elements("ROOT")
.Elements("A")
.Elements("A2")
.Elements("elementA2")
.Select(e => e.Value).ToList().ForEach(e => /* change the value */);
推荐答案
您可以为此使用XPathSelectElement
方法:
var newValue = "New value";
var xDoc = XDocument.Parse(@"<ROOT>
<A>
<A1>
<elementA1></elementA1>
</A1>
<A2>
<elementA2>Some value</elementA2>
</A2>
</A>
</ROOT>");
xDoc.XPathSelectElement("/ROOT/A/A2/elementA2").SetValue(newValue);
这篇关于C#如何使用Linq更改Xml节点值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文