【发布时间】:2013-12-13 14:20:38
【问题描述】:
我正在尝试从 xml 文档中获取具有给定值“John”的所有元素。
LINQ to XML 可以做到这一点吗?
我想要实现的是用“Wayne”替换所有“John”值。我知道这可以通过 xslt 轻松完成,但我需要通过代码来完成。
我的 XML:
<Root>
<Parents>
<Parent>
<Name>John</Name>
<Age>18</Age>
</Parent>
<Parent>
<Name>John</Name>
<Age>25</Age>
</Parent>
<Parent>
<Name>Peter</Name>
<Age>31</Age>
</Parent>
</Parents>
</Root>
我试过这个:
XmlDocument doc = new XmlDocument();
doc.Load(@"C:/Temp/test.xml");
var elements = doc.Elements().Where(w => w.Value == "John");
foreach (var element in elements)
{
element.Value = "Wayne";
}
【问题讨论】:
-
仅供参考,这没有做你想要的原因是因为 Elements() 只会包含 Root,其值不是“John”。
标签: c# .net xml linq linq-to-xml