次のようなXMLファイルがあります
<?xml version="1.0">
<playlist>
<name>My Playlist</name>
<song>
<name>Song Name Here</name>
<path>Path to song here</path>
<note>Song notes here</note>
<artist>Song artist here</artist>
<type>Song type here</type>
</song>
<song>
<name>Song Name Here</name>
<path>Path to song here</path>
<note>Song notes here</note>
<artist>Song artist here</artist>
<type>Song type here</type>
</song>
</playlist>
xmlファイルから曲ノードを削除しようとしていますが、発生したエラーの原因を特定できません。私はまだビジュアルの基礎を学んでいます。
エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。
これは私のコードです
Private Sub MsItemRemoveClick(sender As System.Object, e As EventArgs) Handles msItemRemove.Click
If lvwPlaylist.SelectedItems.Count > 0 Then
Dim xmlDoc As New XmlDocument
xmlDoc.Load(_playlistpath & lblPlaylistName.Text & ".xml")
Dim songs As XmlElement = xmlDoc.SelectSingleNode("song")
For Each item As ListViewItem In lvwPlaylist.SelectedItems
For Each node As XmlElement In songs
If node.SelectSingleNode("name").InnerText = item.SubItems(0).Text Then
MsgBox(node.SelectSingleNode("name").InnerText) '<------ this is where the error pops up on 'node.ParentNode.RemoveAll()
End If
Next
item.Remove()
Next
xmlDoc.Save(_playlistpath & lblPlaylistName.Text & ".xml")
End If
End Sub
私の努力は、選択したすべてのリストビューアイテムをループし、曲の名前がの曲の名前と一致する場合はsongs node
、の親ノードを削除することです。name