请问谁有关于xml当数据库的例子,要求能读,能写得!???多谢!!!!!!!!!!!!!!!!!!!!
比如说留言板里用到数据库,用xml来替代access或ms sql!!!

解决方案 »

  1.   

    读数据库,并构造XML文件的Load.asp:
    <%
    dim conn
    dim strconn
    set conn = server.createobject("adodb.connection")
    strconn ="Driver={SQL Server};" & _
    "Server=" & "ServerName" & ";" & _
    "Database=" & "DataBaseName" & ";" & _
    "Uid=" & "UserName" & ";" & _
    "Pwd==" & "PassWord" & ";"
    conn.open strconndim rst
    dim strsql
    dim strxmlset rst=server.createobject("adodb.recordset")
    strsql="select * from TableName"
    rst.open strsql,conn,3,3response.write("<?xml version='1.0' encoding='GB2312'?>")
    response.write("<tracepoints>")
    response.write(vbcrlf)
    do while not(rst.eof)
    strxml="<point id='"+cstr(rst.fields("编号"))+"'"
    strxml=strxml+" name='"+cstr(rst.fields("名称"))+"'/>"
    response.write(strxml)
    response.write(vbcrlf)
    rst.movenext
    loop
    response.write(vbcrlf)
    response.write("</tracepoints>")rst.close
    conn.close
    %>读取XML内容的JavaScript代码:
    function Read_init()
    {
             name=[];
             id=[];
    xmlReader=new ActiveXObject("Microsoft.XMLDOM");
    loadfile="load.asp";
    xmlReader.async = false;
    xmlReader.load(loadfile);
    if (xmlReader.readyState==4)
    {
    var tracepoints=this.xmlReader.selectNodes("tracepoints/point");
    var l=tracepoints.length;
    for(idx=0;idx<l;idx++)
    {
    name[name.length]=tracepoints[idx].getAttribute("name");
    id[id.length]=tracepoints[idx].getAttribute("id");
    }
    }
    }
      

  2.   

    DataSet ds = new DataSet();
    //read in the XML file
    ds.ReadXml(Server.MapPath("testxml.xml"));

    //show in the XML file
    DataGrid1.DataSource = ds.Tables[0].DefaultView;
    DataGrid1.DataBind(); //modify a row
    ds.Tables[0].Rows[0]["so"] = "sz_test";
    ds.Tables[0].Rows[0]["soline"] = "9"; //delete a row
    ds.Tables[0].Rows[1].Delete(); //add a new row to the table
    DataTable dt = null;
    DataRow dw = null;
    dt = ds.Tables[0];
    dw = dt.NewRow();
    dw["so"] = "sz_test_add";
    dw["soline"] = "90";
    dt.Rows.Add(dw); //save it to a new file
    ds.WriteXml(Server.MapPath("testxml2.xml")); //read in the  new file
    DataSet ds2 = new DataSet();
    ds2.ReadXml(Server.MapPath("testxml2.xml")); //show it ni another grid
    DataGrid2.DataSource = ds2.Tables[0].DefaultView;
    DataGrid2.DataBind();