这将从文档中删除所有元素:
XDocument document = XDocument.Load(inputFile);
foreach (XElement element in document.Elements())
{
element.Remove();
}
document.Save(outputFile);
Run Code Online (Sandbox Code Playgroud)
这没有任何影响:
XDocument document = XDocument.Load(inputFile);
foreach (XElement element in document.Elements())
{
//element.Remove();
foreach (XElement child in element.Elements())
child.Remove();
}
document.Save(outputFile);
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?由于这些都是对XDocument中元素的引用,因此更改是否应该生效?还有其他方法我应该从XDocument中删除嵌套的子项吗?
谢谢!
Jak*_*ake 19
显然,当你迭代时element.Elements()
,调用Remove()
其中一个子节点导致枚举器yield break
.迭代element.Elements().ToList()
修复问题.
归档时间: |
|
查看次数: |
10857 次 |
最近记录: |