注册 | 登陆
您的位置:阿里西西 > 前端技术 > HTML基础 > 详细内容

以xml文件作为数据库的程序一例

  稿源:互联网   2008-05-08 10:19:00   点击:   撤稿纠错
xml|程序|数据|数据库

以下讨论的是和xml 程序 数据 数据库相关的以xml文件作为数据库的程序一例 教程文章,内容是本站精心挑选整理的教程,希望对广大的网友给到帮助,下面是详细内容:

 

<%...@ Language=VBScript %>

<%...
   f=trim(Request("id"))
   biaoti=Request("title")
   neirong=Request("neirong")
IF biaoti="" then
     Response.Write "请输入标题"
     Response.End
 end if
 if neirong="" then
     Response.Write "内容不能为空"
     Response.End
 end if
 

    Set xd = Server.CreateObject("msxml2.domdocument") 
    xd.async = false 
    xd.load(server.mappath(xfolder & "/" & tname2))
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
   
    sql="//" & rootnode & "/"  & snode & "[index=" & f & "]"

    set node2=xd.selectSingleNode(sql)
    node2.childnodes(0).text=biaoti
    xd.save server.mappath(xfolder & "/" & tname2)
   
    set node2=nothing
    set xd=nothing
   
    filen=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & filen)

   
   
    set xd2=server.CreateObject("msxml2.domdocument")
    xd2.load(strSourceFile)
    if xd2.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
   
    xd2.childNodes(1).childNodes(0).childNodes(0).text=biaoti
    xd2.childNodes(1).childNodes(0).childNodes(1).text=neirong
   
    xd2.save strSourceFile
   
    set node2=nothing
    set xd2=nothing
 
 %>


xml分为三种,
index.xml保存一个最大的索引 ,相当于一个序列。
flfgcx_list.xml为一个目录,里面保存了所有的信息的索引信息
另一种就是内容xml,每一种法律都有一个文件。文件名为一个数字,当录入当前的法律的时候自动创造的,名字根据index.xml中的数字 + 1 生成。

 

xml文件的如下:

1 . 目录 (flfgcx_list.xml)



   
        中华人民共和国宪法
        1
   

    中华人民共和国工会法2吉林省实施《中华人民共和国工会法》若干规定3中华人民共和国劳动法4中华人民共和国公司法5中华人民共和国中外合资经营企业法6中华人民共和国企业劳动争议处理条例 7中华人民共和国婚姻法8中华人民共和国妇女权益保障法9最高人民法院关于适用《中华人民共和国婚姻法》若干问题的解释(一)10吉林省计划生育条例11中华人民共和国体育法12全民健身计划纲要13职工安康互助合作保险计划14

2  .  一个内容(?.xml  其中?是一个数字)



   
        中华人民共和国宪法
          序 言

    中国是世界上历史最悠久的国家之一。中国各族人民共同创造了光辉灿烂的文化,具有光荣的革命传统。
  一八四○年以后,封建的中国逐渐变成半殖民地、半封建的国家。中国人民为国家独立、民族解放和民主自由进行了前仆后继的英勇奋斗。
  二十世纪,中国发生了翻天覆地的伟大历史变革。
  一九一一年孙中山先生……

   

 3 .    索引(index.xml)



    15

 

此程序包含对法律数据的增删改操作,具体程序如下:

1 .   录入界面(add.asp)



<%...Response.Write(request("tt"))%>





<%=cname%>录入界面






<%=cname%>录入界面



说明:在每一段的开始的空格必须是全角的空格。否则提交后不能安目前的段落格式显示。





   

标题:
内容:





 

2 .   录入提交界面 (addsubmit.asp)
<%...@ Language=VBScript %>






 <%...
 
 dim biaoti,neirong,filename
 
 biaoti=Request.Form("biaoti")
 'f=request("filename")
 neirong=request("neirong")
 IF biaoti="" then
     Response.Write "请输入标题"
     Response.End
 end if
 if neirong="" then
     Response.Write "内容不能为空"
     Response.End
 end if
 
 set xd2=server.CreateObject("msxml2.domdocument")
 xd2.async = false 
 xd2.load(server.mappath(xfolder & "/" & tname))
     if xd2.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
 f=xd2.childNodes(1).childNodes(0).text
 f=clng(f)+1
 xd2.childNodes(1).childNodes(0).text=f
 xd2.save server.mappath(xfolder & "/" & tname)
 set xd2=nothing
 
    filen=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & filen)
    set fso=server.CreateObject("scripting.filesystemobject")
    if not fso.FileExists(strSourceFile) then
          fso.CreateTextFile strSourceFile
          set fff=fso.GetFile(strSourceFile)
          set mmm=fff.openastextstream(2)
          mmm.write "" & vbcrlf & "<" & rootnode & ">" & vbcrlf &  "<" & snode & ">" & vbcrlf & "" & vbcrlf & ""
          set mmm=nothing
          set fff=nothing
    else
          Response.Write("文件名冲突!")
          Response.End      
    end if
    set fso=nothing
    Set xd = Server.CreateObject("msxml2.domdocument") 

    xd.async = false 
    xd.load(server.mappath(xfolder & "/" & tname2))
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
   
    set et=xd.documentElement    
    set cnode=xd.createElement(snode)
    et.appendchild(cnode)
    set node2=xd.createElement("name")
    node2.text=biaoti
    cnode.appendchild(node2)
    set node2=xd.createElement("index")
    node2.text=f
    cnode.appendchild(node2)
    xd.save server.mappath(xfolder & "/" & tname2)
   
    set cnode=nothing
    set node2=nothing
    set xd=nothing
    set xd=server.CreateObject("msxml2.domdocument")
    xd.load(server.mappath(xfolder & "/" & filen))
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
    set cnode=xd.selectSingleNode("//" & rootnode & "/" & snode)
    set node2=xd.createElement("name")
    node2.text=biaoti
    cnode.appendchild(node2)
    set node2=xd.createElement("content")
    node2.text=neirong
    cnode.appendchild(node2)
    xd.save server.mappath(xfolder & "/" & filen)
    set node2=nothing
    set cnode=nothing
    set xd=nothing
   
     if err=0 then
           Response.Redirect "add.asp?tt=录入成功!"  
     else
           Response.Redirect "add.asp?tt=录入失败!"  
     end if

 %>

录入下一个文件



3  .  配置文件(config.asp)
< %
tname="index.xml"
xfolder="xml"
tname2="flfgcx_list.xml"
cname="法律法规查询"
rootNode="flfg"
sNode="flfgcx"
% >

4  .     主界面(main.asp)




<%...'Response.Redirect "show2.asp"    '如果只显示一条,久把注释去掉%>


工会网




 
   
     
   
   
     
   
   
        
      
     
       
        
      
   
     
   
   
   
     
   
          
 
 
 
 
  
             
              
           
       
 您现在的位置: > 长客工会网   
                > <%=cname%>


  
         
           

                                        <%
                                        if firstrow=true then
                                           firstrow=false
                                           Response.Write " height=20 "
                                        end if
                                        %>>
          
          
    <%...
    next%>
          
    <%...set xd=nothing%>


<%...
 
    strSourceFile = Server.MapPath(xfolder & "/" & tname2)
    Set xd = Server.CreateObject("msxml2.domdocument") 

    xd.async = false 
    xd.load(strSourceFile)
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if   
    rows=1
    firstrow=true
    for i=0 to xd.childNodes(1).childNodes.length-1
   %>  
         

  <%=trim(xd.childNodes(1).childNodes(i).childNodes(0).text)%>

               

 
 
 
 
 
 
 

 

 

 

 

 

 


5  .  修改界面(xiugai.asp)
<%...@ Language=VBScript %>





<%=cname%>修改界面


<%...
    f=Request.QueryString("f")
    n=Request.QueryString("n")
    filen=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & filen)
    Set xd = Server.CreateObject("msxml2.domdocument") 

    xd.async = false 
    xd.load(strSourceFile)
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if   
   
    if not xd.hasChildNodes() then
        Response.Write("为找到指定的数据!")
        Response.End
    end if
   %>
  


   
       
    
       
       
    
     
       
       
    
    
       
       
    
    
       
    
  
文件名<%=filen%>
标题
内容


  



<%...set xd=nothing%>


6  . 修改提交(xiugai_ok.asp)
<%...@ Language=VBScript %>

<%...
   f=trim(Request("id"))
   biaoti=Request("title")
   neirong=Request("neirong")
IF biaoti="" then
     Response.Write "请输入标题"
     Response.End
 end if
 if neirong="" then
     Response.Write "内容不能为空"
     Response.End
 end if
 

    Set xd = Server.CreateObject("msxml2.domdocument") 
    xd.async = false 
    xd.load(server.mappath(xfolder & "/" & tname2))
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
   
    sql="//" & rootnode & "/"  & snode & "[index=" & f & "]"

    set node2=xd.selectSingleNode(sql)
    node2.childnodes(0).text=biaoti
    xd.save server.mappath(xfolder & "/" & tname2)
   
    set node2=nothing
    set xd=nothing
   
    filen=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & filen)

   
   
    set xd2=server.CreateObject("msxml2.domdocument")
    xd2.load(strSourceFile)
    if xd2.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
   
    xd2.childNodes(1).childNodes(0).childNodes(0).text=biaoti
    xd2.childNodes(1).childNodes(0).childNodes(1).text=neirong
   
    xd2.save strSourceFile
   
    set node2=nothing
    set xd2=nothing
 
 %>


7 .  删除信息 (del.asp)


<%...@ Language=VBScript %>

 <%...
 f=Request("f")
 n=request("n")
 IF f="" or n="" then
     Response.Write "参数故障!"
     Response.End
 end if


    filen=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & filen)
    set fso=server.CreateObject("scripting.filesystemobject")
    if(fso.FileExists(strSourceFile)) then fso.DeleteFile strSourceFile
    set fso=nothing
   
    Set xd = Server.CreateObject("msxml2.domdocument") 

    xd.async = false 
    xd.load(server.mappath(xfolder & "/" & tname2))
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
    set et=xd.documentElement    
    sql="//" & rootnode & "/"  & snode & "[name='" & n & "' && index=" & f & "]"
    set node2=xd.selectSingleNode(sql)
   
    et.removeChild(node2)
   
    xd.save server.mappath(xfolder & "/" & tname2)
    
    set node2=nothing
    set xd=nothing
 
     Response.Redirect firstPage  
 
 %>

 

8  .   维护界面主界面 (default.asp)


<%...@ Language=VBScript %>





<%...strSourceFile = Server.MapPath(xfolder & "/" & tname2)
    Set xd = Server.CreateObject("msxml2.domdocument") 
    xd.async = false 
    xd.load(strSourceFile)
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if
    'set tnode=xd.childNodes(1)
      
%>





   
   
   


 <%... for i=0 to xd.childNodes(1).childnodes.length-1 %>
     
       
    

     


        
 <%...
    
   next
      %>
 <%...set xd=nothing%>

   


 
<%=cname%>
目前总记录数:<%=xd.childNodes(1).childNodes.length%>    进入录入界面
<%=xd.childNodes(1).childnodes(0).childnodes(0).nodename%><%=xd.childNodes(1).childnodes(0).childnodes(1).nodename%>操作
<%=trim(xd.childNodes(1).childNodes(i).childNodes(0).text)%><%=trim(xd.childNodes(1).childNodes(i).childNodes(1).text)%>删除修改


 

9   .  显示详细界面(show.asp)


<%...@LANGUAGE="VBSCRIPT" CODEPAGE="CP_ACP"%>



工会网



 
   
     
   
   
     
   
   
        
      
      
       
                      
                    
                 
 
 
 

  
             
          
       
 您现在的位置: > 长客工会网   
                > <%=cname%>



         
   
             
<%...
      f=Request.QueryString("f")
      n=Request.QueryString("n")
      f=f & ".xml"
    strSourceFile = Server.MapPath(xfolder & "/" & f)
    Set xd = Server.CreateObject("msxml2.domdocument") 

    xd.async = false 
    xd.load(strSourceFile)
    if xd.parseError.errorcode<>0 then
        Response.Write("载入xml文件出错!")
        Response.End()
    end if   
   
   
%>




 

<%=trim(n)%>




<%...
'for i=0 to xd.childNodes(1).childNodes.length-1
if xd.childNodes(1).childNodes.length>0 then
   if xd.childNodes(1).childNodes(0).childNodes.length>0 then
     if xd.childNodes(1).childNodes(i).childNodes(0).text=n then
         cont=xd.childNodes(1).childNodes(i).childNodes(1).text
   
%>
<%=cont%>


          





<%...    end if
   end if
end if
'next%>     

 
       
               
               
               
               

 

 


关于以xml文件作为数据库的程序一例的内容写到这里就结束啦,您可以收藏本页网址http://www.alixixi.com/web/ a/2008050848856.shtml方便下次再访问哦。