如何使用Linq to XML和lambda表达式从XML文件中删除元素

时间:2012-06-26 01:36:38

标签: c# xml linq-to-xml

我有一个xml如下

<Person>
   <Name>xxx</Name>
   <Age>xx</Age>
   <Data>xxxx</Data>
</Person>
<Person>
   <Name>xxx</Name>
   <Age>xx</Age>
   <Data>xxxx</Data>
</Person>
<Person>
   <Name>xxx</Name>
   <Age>xx</Age>
   <Data>xxxx</Data>
</Person>

如何使用Linq to XML从树中删除<Data>元素,使用C#中的Lamda Expression?其中<Data>是自动生成的元素,XML结构可能会有所不同。

2 个答案:

答案 0 :(得分:2)

这一切都取决于你想要删除的元素,但你可以使用类似的东西

XDocument people = XDocument.Load("filenamre.xml");
IEnumerable<XElement> Person = people.Element("Person");
//gets  the element you want to remove based on value 
XElement name = Person.Where(p => p.Element("xxx").Value == "1").FirstOrDefault();
//removes the name 
name.Remove();
//create a new file without the element 
people.Save(Server.MapPath("Newfilenamre.xml"));

答案 1 :(得分:-1)

删除第一个元素以外的元素。意味着首先必须在那里休息所有必须删除。