Click here to Skip to main content
15,883,606 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
XML
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <string>a</string>
  <string>b</string>
  <string>c</string>
  <string>d</string>
  <string>e</string>
</ArrayOfString>


So this is my xml, I want to delete particular element for example 'e' in this case
Posted
Comments
Maciej Los 16-Mar-15 7:53am    
What have you tried?
Member 11491784 16-Mar-15 8:01am    
Dim doc As New System.Xml.XmlDocument
doc.LoadXml(objXMl)
Dim node = doc.SelectNodes("/ArrayOfString")
For Each elem As System.Xml.XmlElement In node
If elem.InnerText = val Then
elem.ParentNode.RemoveChild(elem)
Exit For
End If
Next
Member 11491784 16-Mar-15 8:01am    
in objXML , xml is coming.
Member 11491784 16-Mar-15 8:03am    
But Count of node is coming empty.

1 solution

You have to read xml from string (database field), then to use Linq to find proper node/element and finally to rmove it:
VB
Sub Main
    Dim xcontent As String = "<?xml version='1.0' encoding='utf-16'?>"
        xcontent = xcontent & "<ArrayOfString xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>"
        xcontent = xcontent & "<string>a</string>"
        xcontent = xcontent & "<string>b</string>"
        xcontent = xcontent & "<string>c</string>"
        xcontent = xcontent & "<string>d</string>"
        xcontent = xcontent & "<string>e</string>"
        xcontent = xcontent & "</ArrayOfString>"
    Dim rdr As XmlReader  = XmlReader.Create(New StringReader(xcontent))

    Dim xdoc As XDocument = XDocument.Load(rdr)
    Dim ele = xdoc.Elements("ArrayOfString")
    Dim node1 = ele.Descendants("string").Where(Function(x) x.Value ="e").Select(Function(x) x)
    node1.Remove() 'node has been removed
    'xdoc.Save("fullfilename")

End Sub


Result:
XML
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <string>a</string>
  <string>b</string>
  <string>c</string>
  <string>d</string>
</ArrayOfString>
 
Share this answer
 
Comments
Member 11491784 16-Mar-15 9:12am    
Maciej Los
Hi Maciej, thanks for the reply. but I cannot make any changes to my XML as it is coming from database. And StringReader thing is not working for me.
Maciej Los 16-Mar-15 9:37am    
What you mean "not working for me"?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900