从xml vb中删除元素

时间:2014-10-16 15:50:20

标签: xml vb.net

我有一个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

但似乎我迷失了,任何人都知道我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:0)

我也是vb和xml的新手,但我读了一些可能对你有帮助的东西: 您可以搜索具有特定值的子节点的xml节点,然后重新启动该节点。

喜欢:医生/医生[DoctorID = 1]

Dim ID as String = Textbox1.Text
Dim DoctorNodes = doc.SelectNodes("Doctor[DoctorID=" & ID & "]")
doc.RemoveChild(DoctorNodes(0))

看看这里:http://en.wikipedia.org/wiki/XPath