删除xml文件中的整个元素
本文关键字:元素 xml 文件 删除 | 更新日期: 2023-09-27 18:16:11
正如我在标题中所说:我想用c#删除xml文件中的整个元素,如果这个元素的属性值是先决条件。
XML文件:
<dependency>
<dependentAssembly dependencyType="preRequisite"></dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install"></dependentAssembly>
</dependency>
当前代码:using (XmlReader reader = XmlReader.Create(filePath))//filepath is just a normal Path
{
while (reader.Read())
{
if (reader.Name == "dependentAssembly" && reader.GetAttribute("dependencyType") != "preRequisite")
{
//here shall it delete the Element "dependency"
}
}
}
在我设置命令的地方,它会删除元素"dependency"
我尝试了很多方法,但我不知道如何删除这个元素
您可以使用LINQ to XML实现这一点:
var xml = XElement.Load(File.OpenRead(@"XmlLocation"));
var elementsToDelete =
xml.Descendants("dependentAssembly")
.Where(x => x.Attribute("dependencyType") != null &&
x.Attribute("dependencyType").Value != "preRequisite");
foreach (var xElement in elementsToDelete)
{
xElement.Remove();
}