Thursday, March 18, 2010

Delete Selected item from XML Node


All,

Today i gonna share with you code related to XML file.
That is reading and reading XML files.

Following Steps will be shown:
a) First populate listbox with XML data.
b) Second select any item in the Listbox and delete that node from the XML.

Prerequisites:
Add using System.XML namespace above.
Add listbox and a Button(for Delete).
Make an XML file and store in any directory (D directory in my example).

First Below is the Sample XML file :( I have stored it in as : D:\DocumentsOrder.xml).



On Form Load write the below code:

private voidForm1_Load(object sender,EventArgs e)

{

XmlDocument xDoc = newXmlDocument();

xDoc.Load(@"D:\DocumentsOrder.xml");

for (int i = 0; i <>

{

//Add the innertext of the xml document to the listbox

listBox1.Items.AddRange(newobject[] { xDoc.DocumentElement.ChildNodes[i].InnerText });

}

}


On Delete Button Click event write the following Code:


private voidbutton5_Click(object sender,EventArgs e)

{

XmlDocument xDoc = newXmlDocument();

xDoc.Load(@"D:\DocumentsOrder.xml");

//Add the innertext of the xml document to the listbox

xDoc.DocumentElement.RemoveChild(xDoc.DocumentElement.ChildNodes[listBox1.SelectedIndex]);

FileStream WRITER = newFileStream(@"D:\DocumentsOrder.xml", FileMode.Truncate,FileAccess.Write,FileShare.ReadWrite);

xDoc.Save(WRITER);

//Close the writer filestream

WRITER.Close();

//Form1_Load(new object(), new EventArgs());

}



Thats it...Your XML Node(selected item in Listbox) is deleted.

So here is the preview:






Now Go and check your XML...
Hope the selected Node is deleted.

Regards,
Nitin Sharma