talal
05-01-2004, 02:51 PM
I am trying to delete an xml node from the asp.net file using language JScript.
It's deleting the information successfully from the MS access but it's not able to delete the node from the xml file.
The xml file has the following elements:
<videostore name="Mariam Store">
<movie>
<title>123</title>
<rating code="PG-13" />
<year>1958</year>
<director>Gary Winick</director>
<cast>Clue</cast>
<price>11</price>
<quantity>2</quantity>
</movie>
</videostore>
I want to delete the movie element by matching the title element from the strMovieTitle. I am sure I have some syntax errors, that's why it's not working. I am posting the delete function:
function DataGrid1_DeleteClick(sender: Object, e: System.Web.UI.WebControls.DataGridCommandEventArgs) : void
//'Get primary key for record to be deleted
var strUsername : String ;
strUsername = DataGrid1.Items(e.Item.ItemIndex).Cells(1).Text;
var strMovieTitle : String ;
strMovieTitle = DataGrid1.Items(e.Item.ItemIndex).Cells(2).Text;
//'Delete record from database
var dbconn : OleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb");
dbconn.Open();
//'DELETE FROM <table> WHERE <condition>
var strSql : String ;
strSql = "DELETE FROM tblVideos WHERE (Username='" + strUsername + "' AND MovieTitle='" + strMovieTitle + "')";
Label1.Text = strSql;
var dbcmd : OleDbCommand = new OleDbCommand(strSql, dbconn);
dbcmd.ExecuteNonQuery();
dbconn.Close();
//'Get rid of TextBoxes and reload data
DataGrid1.EditItemIndex = -1;
Bind_DataGrid1();
//'Deleting node from xml file
var videos : XmlDocument;
videos = new XmlDocument();
videos.Load(Server.MapPath(strUsername + ".xml"));
var root : XmlNode;
root = videos.DocumentElement;
var index : int = 0;
while (index < root.ChildNodes.Count)
{
if(root.ChildNodes.Item(index) == strMovieTitle)
{
root.RemoveChild(root.ChildNodes.Item(index));
}
index = index + 1;
}
videos.Save(Server.MapPath(strUsername + ".xml"));
}
Thanks in advance,
Talal
It's deleting the information successfully from the MS access but it's not able to delete the node from the xml file.
The xml file has the following elements:
<videostore name="Mariam Store">
<movie>
<title>123</title>
<rating code="PG-13" />
<year>1958</year>
<director>Gary Winick</director>
<cast>Clue</cast>
<price>11</price>
<quantity>2</quantity>
</movie>
</videostore>
I want to delete the movie element by matching the title element from the strMovieTitle. I am sure I have some syntax errors, that's why it's not working. I am posting the delete function:
function DataGrid1_DeleteClick(sender: Object, e: System.Web.UI.WebControls.DataGridCommandEventArgs) : void
//'Get primary key for record to be deleted
var strUsername : String ;
strUsername = DataGrid1.Items(e.Item.ItemIndex).Cells(1).Text;
var strMovieTitle : String ;
strMovieTitle = DataGrid1.Items(e.Item.ItemIndex).Cells(2).Text;
//'Delete record from database
var dbconn : OleDbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=db1.mdb");
dbconn.Open();
//'DELETE FROM <table> WHERE <condition>
var strSql : String ;
strSql = "DELETE FROM tblVideos WHERE (Username='" + strUsername + "' AND MovieTitle='" + strMovieTitle + "')";
Label1.Text = strSql;
var dbcmd : OleDbCommand = new OleDbCommand(strSql, dbconn);
dbcmd.ExecuteNonQuery();
dbconn.Close();
//'Get rid of TextBoxes and reload data
DataGrid1.EditItemIndex = -1;
Bind_DataGrid1();
//'Deleting node from xml file
var videos : XmlDocument;
videos = new XmlDocument();
videos.Load(Server.MapPath(strUsername + ".xml"));
var root : XmlNode;
root = videos.DocumentElement;
var index : int = 0;
while (index < root.ChildNodes.Count)
{
if(root.ChildNodes.Item(index) == strMovieTitle)
{
root.RemoveChild(root.ChildNodes.Item(index));
}
index = index + 1;
}
videos.Save(Server.MapPath(strUsername + ".xml"));
}
Thanks in advance,
Talal