*编辑:好的,所以我要删除程序,而foreach (var elem in doc.Document.Descendants("Profiles"))
需要“配置文件”的行。但是现在在我的 XML 文档中,每个删除的 Profile 元素都有一个空的 Profile 元素,所以如果 xml 示例中的所有项目(在问题的底部)都被删除,我只剩下这个:*
<?xml version="1.0" encoding="utf-8"?>
<Profiles>
<Profile />
<Profile />
</Profiles>
==========================下面的原始问题====================== ===========
我正在使用以下代码从 XML 文件中删除一个元素及其子元素,但在保存时并未将它们从文件中删除。有人可以让我知道为什么这是不正确的吗?
public void DeleteProfile()
{
var doc = XDocument.Load(ProfileFile);
foreach (var elem in doc.Document.Descendants("Profiles"))
{
foreach (var attr in elem.Attributes("Name"))
{
if (attr.Value.Equals(this.Name))
elem.RemoveAll();
}
}
doc.Save(ProfileFile,
MessageBox.Show("Deleted Successfully");
}
编辑:下面的 XML 格式示例
<?xml version="1.0" encoding="utf-8"?>
<Profiles>
<Profile Name="MyTool">
<ToolName>PC00121</ToolName>
<SaveLocation>C:\Users\13\Desktop\TestFolder1</SaveLocation>
<Collections>True.True.True</Collections>
</Profile>
<Profile Name="TestProfile">
<ToolName>PC10222</ToolName>
<SaveLocation>C:\Users\14\Desktop\TestFolder2</SaveLocation>
<Collections>True.False.False</Collections>
</Profile>
</Profiles>