Link to home
Start Free TrialLog in
Avatar of Victor  Charles
Victor CharlesFlag for United States of America

asked on

Help with deleting data elements in xml file

Hi,

I'm trying to delete all ldata elements in my xml file except for the first data element which LinkAID is 0. But I'm getting error message:


Expression must evaluate to a node-set.

On line:

   For Each topping As Xml.XmlNode In piz.SelectNodes("/Root/LinkA[LinkAID <> '" & 0 & "']")


How do I fix this error?

Code:
 Private Sub Button10_Click(sender As System.Object, e As System.EventArgs) Handles Button10.Click
        Dim dk As New XmlDocument
        dk.Load(Application.StartupPath + "\LinkSSADB.xml")
        Dim piz As XmlElement = dk.DocumentElement
        For Each topping As Xml.XmlNode In piz.SelectNodes("/Root/LinkA[LinkAID <> '" & 0 & "']")
            topping.ParentNode.RemoveChild(topping)
            dk.Save(Application.StartupPath + "\LinkSSADB.xml")
            Exit For
        Next

Thanks,

Victor
ASKER CERTIFIED SOLUTION
Avatar of SAMIR BHOGAYTA
SAMIR BHOGAYTA
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Victor  Charles

ASKER

Hi,

I don't want to remove all the elements only the ones where LinkAID <> 0, which is the first element. For example if I have the xml below in Part A I only want to end up with the file in Part B.

Part A:

<Root>
<Table>
<LinkAID>0<LinkAID>
<Item1></Item1>
<Item2></Item2>
<Item3></Item3>
</Table>
<Table>
<LinkAID>1<LinkAID>
<Item1></Item1>
<Item2></Item2>
<Item3></Item3>
</Table>
<Table>
<LinkAID>2<LinkAID>
<Item1></Item1>
<Item2></Item2>
<Item3></Item3>
</Table>
<Table>
<LinkAID>3<LinkAID>
<Item1></Item1>
<Item2></Item2>
<Item3></Item3>
</Table>
</Root>


Part B:
<Root>
<Table>
<LinkAID<0<LinkAID>
<Item1></Item1>
<Item2></Item2>
<Item3></Item3>
</Table>
</Root>

Thanks,

V.