PDA

View Full Version : سوال: حذف و اضافه یک مورد در Linq



remove-me
پنج شنبه 20 آبان 1389, 19:53 عصر
سلام دوستان. من یه فایل xml به صورت زیر دارم:


<students>
<student>
<no>1</no>
<name>name</name>
</student>
<student>
<no>2</no>
<name>name</name>
</student>
<student>
<no>1</no>
<name>name</name>
</student>
</students>


می خواستم با استفاده از linq اون element های no که 1 هست به همراه <student> حذف کنم. یا مثلا اون element هایی که no برابر 1 هست name رو تو یک listbox بزارم.
از کد زیر استفاده می کنم جواب نمی ده.

xElement xmlfile=xElemet.load("\\student.xml");
foreach(var a in xmlfile.elements("no"))
}
if(a==1);
a.remove();
}



خیلی ممنون می شم اگر یه راهنمایی کنید

Amir Oveisi
جمعه 21 آبان 1389, 11:38 صبح
کد کاملش به این شکله:
XElement xml = XElement.Load("XMLFile1.xml");
var studentElements = xml.Elements(XName.Get("student"));
List<XElement> toDelete = new List<XElement>();
foreach (var item in studentElements)
{
if (item.Element(XName.Get("no")).Value == "1")
toDelete.Add(item);
}
foreach (var item in toDelete)
{
item.Remove();
}
xml.Save("xml2.xml");

اول باید student ها رو در بیارید و بعد داخل اونا دنبال student ای بگردید که دارای element ای با نام no و مقدار 1 باشه.

موقث باشید