delete element from xml using LINQ
EDIT: Okay, with further editing, it's clearer what you want to do, and as it happens it's significantly easier than you're making it, thanks to the Remove
extension method on IEnumerable<T> where T : XNode
:
string target = txt.Text.Trim();
doc.Descendants("start")
.Elements("site")
.Where(x => x.Value == target)
.Remove();
That's all you need.
Mushfiq
A Computer Science graduate based in Dhaka, Bangladesh, working on Web Applications and Software Development for more than nine years. I love technology, music, movies, and photography, among many other things. I have implemented complex user stories that make businesses count on more conversion and grow with it. I started my career with ASP.NET but eventually revamped my skills with JavaScript, ReactJs, NodeJs, and Ruby on Rails. Throughout my career, I have contributed to the businesses that positively impact society through my active and innovative contributions to the organization’s growth. While being an independently motivated engineer, I appreciate the collective efforts and collaborative productivity within the team environment. I am open-minded and focused on learning new technologies that directly impact the betterment of human lives. You can download my resume or view it online.
Updated on June 09, 2022Comments
-
Mushfiq over 1 year
I've a xml file like:
<starting> <start> <site>mushfiq.com</site> <site>mee.con</site> <site>ttttt.co</site> <site>jkjhkhjkh</site> <site>jhkhjkjhkhjkhjkjhkh</site> <site>dasdasdasdasdasdas</site> </start> </starting>
Now I need to delete any
<site>...</site>
and value will randomly be given from a textbox.Here is my code :
XDocument doc = XDocument.Load(@"AddedSites.xml"); var deleteQuery = from r in doc.Descendants("start") where r.Element("site").Value == txt.Text.Trim() select r; foreach (var qry in deleteQuery) { qry.Element("site").Remove(); } doc.Save(@"AddedSites.xml");
If I put the value of first element in the textbox then it can delete it, but if I put any value of element except the first element's value it could not able to delete! I need I'll put any value of any element...as it can be 2nd element or 3rd or 4th and so on.... can anyone help me out?