Я пытаюсь отредактировать узел «Доход» и добился этого с помощью текущего кода. Однако все остальные элементы (RptMenu и Icon) удаляются. Я хочу, чтобы они оставались в XML-файле, и только доход был изменен на все, что задает текстовое поле. Выбирается, чтобы выбрать, какой MenuItem (доход, запас и т. Д.) Должен быть изменен.Как отредактировать узел XML с помощью combobox (VB.Net)
XML код: (Там будут пункты меню не включены, чтобы сохранить его простым)
<ReportMenu>
<RptMenu category="Menu">
<MenuItem>Income</MenuItem>
<Icon>C:\Documents\Visual Studio 2008\Projects\Menu\Menu\Resources\IncomeImage.jpg</Icon>
</RptMenu>
<RptMenu category="Menu">
<MenuItem>Stock</MenuItem>
<Icon>C:\Documents\Visual Studio 2008\Projects\Menu\Menu\Resources\IncomeImage.jpg</Icon>
</RptMenu>
</ReportMenu>
vb.net Код:
Private Sub btnEditCategory_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditCategory.Click
Dim xd As New XmlDocument()
xd.Load("C:\Documents\Reports.xml")
Dim newNode As XmlElement = xd.CreateElement("MenuItem")
newNode.InnerText = txtAddCategory.Text
For Each oldNode As XmlNode In xd.SelectNodes("ReportMenu/RptMenu")
If oldNode.SelectSingleNode("MenuItem").InnerText = cmbCategory.Text Then
oldNode.ParentNode.ReplaceChild(newNode, oldNode)
End If
Next
xd.Save("C:\Documents\Reports.xml")
End Sub