2014-10-16 87 views
0

我有一個xml文件,我必須刪除特定的元素。在這種情況下,如果給定了docotor ID,則需要刪除特定的醫生。該XML看起來是這樣的:從xml中刪除元素vb

<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

我是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