Как удалить запись из списка иерархии (объекта)
Я выбираю свой XML-файл в объект IEnumerable, а затем преобразую его в список (объекта). Теперь я хочу найти и удалить некоторую запись из базы списка по совпадающему идентификатору. Как это сделать?
Пример моего XML-файла
<?xml version="1.0" encoding="utf-8" ?> <groups defaultIcon="resources/images/modules-icons/icon.png"> <group title="Customer"> <item> <title>Customer File</title> <item-icon>resources/images/modules-icons/CustomerSupplierFile48x48.png</item-icon> <id>customers</id> </item> <item> <title>Customer Group</title> <item-icon>resources/images/modules-icons/sink.png</item-icon> <id>customers</id> </item> <item> <title>Shipping Address</title> <id>customershippingaddress</id> </item> </group> <group title="Supplier"> <item> <title>Suppliers Setup</title> <item-icon>resources/images/modules-icons/CustomerSupplierFile48x48.png</item-icon> <id>suppliers</id> </item> <item> <title>Supplier</title> <id>supplier</id> </item> </group> <group title="Other group"> <item> <title>Inventory</title> <id>inventory</id> </item> <item> <title>Suppliers</title> <id>suppliers</id> </item> <item> <title>Help</title> <id>help</id> </item> <item> <title>Options</title> <id>options</id> </item> <item> <title>Employees</title> <id>employees</id> </item> </group> </groups>
Dim document As XElement = XElement.Load(Server.MapPath("resources/MasterFiles.xml")) Dim defaultIcon As String = If(document.Attribute("defaultIcon") IsNot Nothing, document.Attribute("defaultIcon").Value, "") Dim query As IEnumerable(Of Object) = From g In document.Elements("group") Select New With { .Title = If(g.Attribute("title") IsNot Nothing, g.Attribute("title").Value, ""), .Items = (From i In g.Elements("item") Select New With { .Title = If(i.Element("title") IsNot Nothing, i.Element("title").Value, ""), .Icon = If(i.Element("item-icon") IsNot Nothing, i.Element("item-icon").Value, defaultIcon), .Id = If(i.Element("id") IsNot Nothing, i.Element("id").Value, ""), .Visible = "Y" }) } ''Then convert it into List() for easy manage '' Dim qlist As List(Of Object) = query.ToList()
Вот что я пытаюсь сделать, но знаю, как удалить совпадающую запись
For x = qlist.Count - 1 To 0 Step -1 'Loop tru And get user module access For Each itm In qlist(x).Items If itm.Id = "customershippingaddress" Then 'I can find it but how to do next? End If Next Next
Что я уже пробовал:
For x = qlist.Count - 1 To 0 Step -1 'Loop tru And get user module access For Each itm In qlist(x).Items If itm.Id = "customershippingaddress" Then 'I can find it but how to do next? End If Next Next