XML用途之一
增加、删除、修改“XML 记录”的例子
'XML 文件
<?xml version="1.0" encoding="gb2312"?>
<stocks date="2001-8-24">
<stock>
<code>111</code>
<name>AAA</name>
<openprice>7.93</openprice>
<currentprice>7.93</currentprice>
<tradeamount>0</tradeamount>
<totalamount>1000000</totalamount>
<status>1</status>
</stock>
<stock>
<code>222</code>
<name>BBB</name>
<openprice>170.92</openprice>
<currentprice>170.92</currentprice>
<tradeamount>0</tradeamount>
<totalamount>100000</totalamount>
<status>1</status>
</stock>
<stock>
<code>333</code>
<name>CCC</name>
<openprice>55.43</openprice>
<currentprice>55.43</currentprice>
<tradeamount>0</tradeamount>
<totalamount>100000</totalamount>
<status>1</status></stock>
</stocks>
'处理文件 Stocks.asp
<%
Response.CacheControl = "no-cache"
%>
<html>
<head>
<title>XML 的股票行情</title>
<style>
td {font-size:9pt}
</style>
</head>
<body>
<h1>XML 的股票行情</h1>
<hr>
<%
set xml = Server.CreateObject("MSXML2.domdocument")
'set xml = Server.CreateObject("Microsoft.xmlDom")
xml.load Server.MapPath("stocks.xml")
if xml.parseError.errorCode <> 0 then
Response.Write "xml.parseError.errorCode = " &xml.parseError.errorCode
Response.Write "xml.parseError.reason = " &xml.parseError.reason
Response.Write "xml.parseError.line = " &xml.parseError.line
Response.End
end if
'如果<stocks>的DATE属性不是今天,则改为今天
xmlDate = xml.documentElement.attributes.getNamedItem("date").text
if datediff("d",xmlDate,date) >= 1 then
'xml.documentElement.attributes.getNamedItem("date").text = FormatDateTime(date,2)
'可以在此加入改变股票价格的代码
i = 1
StockAmount = xml.getElementsByTagName("stock").length
set StockList = xml.getElementsByTagName("stock")
for i = 0 to StockAmount - 1
set StockTemp = StockList.item(i)
randomize
ss =1
if rnd() > 0.6 then ss = -1
randomize
StockTemp.childNodes.item(2).text = FormatNumber(Ccur(StockTemp.childNodes.item(2).text)*(1+ss*rnd()/10),2)
StockTemp.childNodes.item(3).text = StockTemp.childNodes.item(2).text
next
xml.save Server.MapPath("stocks.xml")
end if
if Request.Form("submit") = "增加股票" then
set objRoot = xml.documentElement
set newStock = xml.createElement("stock")
objRoot.appendChild newStock
set objA1 = xml.createElement("code")
newStock.appendChild objA1
objA1.text = Request.Form("scode")
set objA2 = xml.createElement("name")
newStock.appendChild objA2
objA2.text = Request.Form("sname")
set objA3 = xml.createElement("openprice")
newStock.appendChild objA3
objA3.text = Request.Form("openPrice")
set objA4 = xml.createElement("currentprice")
newStock.appendChild objA4
objA4.text = Request.Form("curPrice")
set objA5 = xml.createElement("tradeamount")
newStock.appendChild objA5
objA5.text = Request.Form("tradeAmount")
set objA6 = xml.createElement("totalamount")
newStock.appendChild objA6
objA6.text = Request.Form("TotalAmount")
set objA7 = xml.createElement("status")
newStock.appendChild objA7
objA7.text = Request.Form("status")
xml.save Server.MapPath("stocks.xml")
set newStock = nothing
set objRoot = nothing
set objA1 = nothing
set objA2 = nothing
set objA3 = nothing
set objA4 = nothing
set objA5 = nothing
set objA6 = nothing
set objA7 = nothing
end if
if Request.Form("submit") = "删除" and Request.Form("remove")<>empty then
set objCodeList = xml.getElementsByTagName("code")
remove = split(Request.Form("remove"))
for i=0 to ubound(remove)
for j=0 to objCodeList.Length-1
if objcodeList.item(j).text = remove(i) then
xml.documentElement.removeChild(objcodeList.item(j).parentNode)
end if
next
xml.save Server.MapPath("stocks.xml")
next
end if
'xml.save Server.MapPath("stocks.xml")
Response.Write FormatDateTime(now)
%>
<hr>
<form action="" method="post">
<TABLE cellSpacing=1 cellPadding=1 width="100%" border=1>
<TR>
<TD>股票代码</TD>
<TD>股票名称</TD>
<TD>开盘价格</TD>
<TD>当前价格</TD>
<TD>成交量</TD>
<TD>流通总数</TD>
<TD>状态</TD>
<TD>删除</TD>
</TR>
<%
i = 1
StockAmount = xml.getElementsByTagName("stock").length
set StockList = xml.getElementsByTagName("stock")
for i = 0 to StockAmount - 1
set StockTemp = StockList.item(i)
%>
<TR>
<TD> <%=StockTemp.childNodes.item(0).text%></TD>
<TD> <%=StockTemp.childNodes.item(1).text%></TD>
<TD> <%=StockTemp.childNodes.item(2).text%></TD>
<TD> <%=StockTemp.childNodes.item(3).text%></TD>
<TD> <%=StockTemp.childNodes.item(4).text%></TD>
<TD> <%=StockTemp.childNodes.item(5).text%></TD>
<TD> <%=StockTemp.childNodes.item(6).text%></TD>
<TD><input type="checkbox" name="remove" value=<%=StockTemp.childNodes.item(0).text%>></TD>
</TR>
<%
next
set xml = nothing
%>
<TR>
<TD><input type="text" name="scode"></TD>
<TD><input type="text" name="sname"></TD>
<TD><input type="text" name="openPrice" size="6"></TD>
<TD><input type="text" name="curPrice" size="6"></TD>
<TD><input type="text" name="tradeAmount"></TD>
<TD><input type="text" name="TotalAmount"></TD>
<TD><input type="text" name="status" size="6"></TD>
<TD><input type="submit" name="submit" value="删除"></TD>
</TR>
</TABLE>
<%
%>
<input type="submit" name="submit" value="增加股票">
</form>
</body>
</html>
来自: http://hi.baidu.com/yuyang0105/blog/item/82379d476713d32acefca3d8.html
浙公网安备 33010602011771号