TreeView のいくつかのノードの名前を保持するこの XML があります。TreeView でノードを削除した後、XML ファイルからもノードを削除する必要があります。ノード プロファイル 2 のコンテンツを削除するコードを実行できましたが、親ノード " " も削除したいと考えています<Profile></Profile>
。
正しいコードを教えてください!
これらは元のノードです。
<?xml version="1.0" encoding="utf-8"?>
<Profiles>
<Profile>
<Profile_Name>Profile 1</Profile_Name>
<Profile_Path>X:\Tests</Profile_Path>
</Profile>
<Profile>
<Profile_Name>Profile 2</Profile_Name>
<Profile_Path>X:\Tests</Profile_Path>
</Profile>
</Profiles>
コードを実行すると、次の結果が得られます。
<?xml version="1.0" encoding="utf-8"?>
<Profiles>
<Profile>
<Profile_Name>Prof 1</Profile_Name>
<Profile_Path>X:\Tests</Profile_Path>
</Profile>
<Profile>
</Profile>
</Profiles>
そして、これは使用されるコードです:
Public Sub DeleteXml()
ProfileList.Load(xml_path)
Dim nodes_list As XmlNodeList = ProfileList.SelectNodes("Profiles")
Dim profile_node As XmlNode = ProfileList.SelectSingleNode("Profile")
Dim profile_name_node As XmlNode = ProfileList.SelectSingleNode("Profile_Name")
Dim bool As Boolean
For Each profile_node In nodes_list
For Each profile_name_node In profile_node
If EManager.TreeView1.SelectedNode.Text = profile_name_node.FirstChild.InnerText Then
bool = True
Else
bool = False
End If
If bool = True Then
profile_name_node.RemoveAll()
End If
Next
Next
End Sub