Работаю над моим первым приложением C# Winform :( Я просматриваю XML-файл в treeView, затем я выбираю узел, и я хочу удалить его. Моя проблема: Каждый узел содержит атрибут Id, то этот узел используется два или время дерева в том же файл, анс я хочу, чтобы удалить все дубликатыУдалить узел из treeView, когда атрибут схож
Это ехр:.
<list>
<object number="3" background_colour="7" id="2996" name="MyFirst" type="2">
<child id="3794" x="0" y="0"/>
<child id="13794" x="0" y="44"/>
<child **id="13794**" x="239" y="44"/>
</object>
<object height="4" id="13793" line="24487" direction="1"/>
<object height="194" **id="13794"** line_attributes="24487" line ="0"/>
</list`>
Итак, теперь я могу удалить узел (node - это объект), но я хочу, если я удалю объект с id = 13794, я автоматически удалю также Child с id = 13794
Я действительно думаю об этом от одной недели: (если у кого-то есть идея. Благодарю.
Моя функция Код:
private void DeleteHandler(TreeNode tNode)
{
tNode.BackColor = Color.Red;
var messageResult = MessageBox.Show("Are u sur to delete node and childs?", "Alerte de suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (messageResult == System.Windows.Forms.DialogResult.Yes)
RemoveChildNodes(tNode);
else
tNode.BackColor = Color.Transparent;
}
private void RemoveChildNodes(TreeNode aNode)
{
if (aNode.Nodes.Count > 0)
{
for (int i = aNode.Nodes.Count - 1; i >= 0; i--)
{
aNode.Nodes[i].Remove();
}
}
var messageResult = MessageBox.Show("Delete from XML too ?", "Alerte de suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (messageResult == System.Windows.Forms.DialogResult.Yes)
aNode.Remove();
}
private void deleteNode_Click(object sender, EventArgs e)
{
TreeNode sourceNode = sourceTreeView.SelectedNode;
DeleteHandler(sourceNode);
}
Что вы сделали до сих пор, и как он не работают? Обновите вопрос. –
Теперь можно выбрать узел и удалить его, но только один узел! Я хочу удалить весь узел с тем же значением атрибута ID –
Пожалуйста, разместите здесь свой код, если вам нужны улучшения. Если это конфиденциально, анонимный. –