1

私のコードがあります:

private void removeToolStripMenuItem_Click(object sender, EventArgs e)
{
    if (treeView1.SelectedNode != null)
    {
         if (treeView1.SelectedNode.Parent == null) treeView1.SelectedNode.Remove();
         else if (treeView1.SelectedNode.Parent.Nodes.Count == 1) treeView1.SelectedNode.Parent.Remove();
         else treeView1.SelectedNode.Remove();
    }
     XDocument doc = XDocument.Load("test.xml");
     if (treeView1.SelectedNode.Parent != null)
     {
         var xElement = (from q in doc.Elements("dogs").Elements("dog")
                        where q.Attribute("id").Value == treeView1.SelectedNode.Tag.ToString()
                        select q);
            foreach (var a in xElement)
                a.Remove();
            doc.Save("test.xml");
}

ファイルで値を検索したいのですがid、プログラムがそれを見つけた場合、それを選択したノードのタグと比較し、見つけた場合はこのノードを削除します。ノードを削除しようとするたびに、エラーNullReferenceException was unhandledが表示されます。

4

1 に答える 1