I am using the code that was provided by Sonu Kapoor some time ago. It really works great, but I need the ability to delete data from the XML using a from.
Here is a copy of the form:
<%@ Language=JScript%>
<%Server.ScriptTimeout=21478836%>
<%Response.Buffer=false%>
<%
// 1) To check whether the user has already pressed the submit button
var submit = Request.Form("submit").Count;
if( submit > 0 ){
// 2) Create the needed to variables to store data from the form
var port = Request.Form("Port");
var arrival = Request.Form("Arrival");
var date = Request.Form("Date");
// 3) First check whether the user has entered anything or not !
var error = "";
if ( port == "" )
error = "Port ";
if ( arrival == "" )
error += "Arrival ";
if ( date == "")
error += "Date";
// 4) We have found that the user didnt entered anything
if(error!=""){
Response.Write("<center>");
Response.Write("<font fac=verdana size=2>");
Response.Write("Please enter the following data:<br>");
Response.Write("<b>");
Response.Write(error);
Response.Write("</b>");
Response.Write("</font>");
Response.Write("</center>");
}
else{
// Response.Write(port+" has been added to the list.");
// 5) Load the xmlDoc and create the required elements/nodes
var xmlDoc=Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM");
xmlDoc.async="false";
xmlDoc.load(Server.MapPath("Person2.xml"));
var nodeList = xmlDoc.getElementsByTagName("PersonList");
if(nodeList.length > 0){
var parentNode = nodeList(0) ;
var personNode = xmlDoc.createElement("Person");
var portNode = xmlDoc.createElement("Port");
var arrivalNode = xmlDoc.createElement("Arrival");
var dateNode = xmlDoc.createElement("Date");
// 6) Attach the nodes to the parent node (Person)
parentNode.appendChild(personNode);
personNode.appendChild(portNode);
personNode.appendChild(arrivalNode);
personNode.appendChild(dateNode);
<TR>
<TD width="69"><FONT face=Verdana size=2><STRONG style="BACKGROUND-COLOR: silver">Port</STRONG></FONT></TD>
<TD width="112"><FONT face=Verdana size=2><STRONG style="BACKGROUND-COLOR: silver">Arrival Time</STRONG></FONT></TD>
<TD width="115"><FONT face=Verdana size=2><STRONG style="BACKGROUND-COLOR: silver">Date</STRONG></FONT></TD>
</TR>
<%
// This part is used to display the data in a table via XSL
var objXMLDoc = Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM");
objXMLDoc.async = false;
objXMLDoc.load(Server.MapPath("person2.xml"));
var xsl=Server.CreateObject("MICROSOFT.FreeThreadedXMLDOM");
xsl.async = false;
xsl.load(Server.MapPath("person2.xsl"));
var xmlQuery="//Person";
var docHeadlines=objXMLDoc.documentElement.selectNodes(xmlQuery);
var numNodes;
numNodes=docHeadlines.length;
var nn;
for(var i=0;i<numNodes;i++){
nn = docHeadlines.nextNode();
Response.Write(nn.transformNode(xsl));
}
%>
</table>
</body>
</html>
Bookmarks