我有一个xml文件,我必须删除特定的元素。在这种情况下,当给出特定医生将被移除的docotor ID时。 xml看起来像这样:
<Doctor>
<DoctorID>1</DoctorID>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Specialty>Family</Specialty>
</Doctor>
<Doctor>
<DoctorID>2</DoctorID>
<FirstName>James</FirstName>
<LastName>Kameron</LastName>
<Specialty>Obstetric</Specialty>
</Doctor>
我的vb代码如下所示:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim doc As New Xml.XmlDocument
doc.Load("..\..\..\Doctors.xml")
Dim ID As String
ID = DGV_1.CurrentRow.ToString()
Dim DoctorNodes = doc.SelectNodes("//Doctor//DoctorID")
For Each elem As Xml.XmlElement In DoctorNodes
If elem.InnerText = ID.ToString Then
elem.RemoveAll()
''elem.ParentNode.RemoveChild(elem)
Exit For
End If
Next
MessageBox.Show(doc.OuterXml)
End Sub
但似乎我迷失了,任何人都知道我需要做些什么才能让它发挥作用?
答案 0 :(得分:0)
我也是vb和xml的新手,但我读了一些可能对你有帮助的东西: 您可以搜索具有特定值的子节点的xml节点,然后重新启动该节点。
喜欢:医生/医生[DoctorID = 1]
Dim ID as String = Textbox1.Text
Dim DoctorNodes = doc.SelectNodes("Doctor[DoctorID=" & ID & "]")
doc.RemoveChild(DoctorNodes(0))