论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > asp教程
Tag:入门,文摘,实例,技巧,iis,表单,对象,上传,数据库,记录集,session,cookies,存储过程,注入,分页,安全,优化,xmlhttp,fso,jmail,application,防盗链,stream,组件,md5,乱码,缓存,加密,验证码,算法,ubb,正则表达式,水印,,日志,压缩,url重写,控件,函数,破解,触发器,socket,ADO,初学,聊天室,留言本,视频教程

如何用Asp动态生成xml文件

文章类别:asp | 发表日期:2008-10-5 20:38:40

Function ReplaceChar ( FstrSource )
  dim strRet
  if IsNull(FstrSource) then
    FstrSource = ""
  end if
  strRet = Replace ( FstrSource , "&" , "&" )
  strRet = Replace ( strRet , "<" , "&lt;" )
  strRet = Replace ( strRet , ">" , "&gt;" )
  strRet = Replace ( strRet , """" , "&quot;" )
  strRet = Replace ( strRet , "'" , "&apos;" )
  ReplaceChar = strRet
End Function
function RstToXML (FrstRst, FstrRstName)
    dim strSpace  'space string behand of element
    dim intLevel  'level of the element
    dim strXML    'the return string(xml string)
    dim intRstField
    dim strShortDate
   
    'document level
    intLevel = 0
    strSpace = space (intLevel * 2)
    if Len(FstrRstName)>0 then
    strXML=strSpace & "<" & FstrRstName & ">" & vbCR
    intLevel = intLevel + 1
    strSpace = space(intLevel*2)
  end if
  if FrstRst.EOF then
    strXML = strXML&strSpace & "<Record"
    for nCount=0 to FrstRst.Fields.Count-1
      strXML = strXML & space(1)&FrstRst.Fields(nCount).Name&"=''"
    next
    strXML = strXML & "/>" &vbCR
    if Len(FstrRstName)>0 then
    strXML=strXML&strSpace & "</" & FstrRstName & ">" & vbCR
    end if
    RstToXML=strXML
    exit function
  end if

  ' now move in one level
  intLevel = intLevel + 1
  strSpace = space (intLevel * 2)
 
  ' loop through the records
  dim strTemp
  FrstRst.MoveFirst
  do while not FrstRst.EOF
    strTemp = ""
      'loop through the fields
      'strXML = strXML & strSpace & "<Record"
      for each objField in FrstRst.Fields
      'set objField = FrstRst.Fields(intRstField)
          strTemp = strTemp & space (1) & objField.Name & "="
             strTemp = strTemp & """" & ReplaceChar(objField.Value)  & """"
      end if
      next
      strXML = strXML & "<Record "&strTemp& "/>" & vbCR
      FrstRst.MoveNext
  loop
 
  intLevel=intLevel-1
  strSpace=space(intLevel * 2)

  if Len(FstrRstName)>0 then
    strXML = strXML & strSpace & "</" & FstrRstName & ">" & vbCR
  end if

  RstToXML = strXML

end function

 

 

getInfo.asp
========================================
<?xml version="1.0" encoding="gb2312"?>
<root>
<%
set conn = server.CreateObject("ADODB.Connection")
conn.Open "FILEDSN=test.dsn"

set facultyRst = conn.Execute("select * from faculty")
do while not facultyRst.eof
  strFaculty = facultyRst("name")
 
  set classRst = conn.Execute("select count(id) as classcount from recruitclass where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "'")
  set maleRst = conn.Execute("select count(id) as malecount from newstudent where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "' and gender='男'")
  set femaleRst = conn.Execute("select count(id) as femalecount from newstudent where recruityear=" + cstr(year(now)) + " and faculty='" + strFaculty + "' and gender='女'")
%>
  <newstudent faculty="<%=strFaculty%>" class="<%=classRst("classcount")%>" male="<%=maleRst("malecount")%>" female="<%=femaleRst("femalecount")%>"/>
 
<%
  facultyRst.MoveNext
loop
%>
</root>

 


<%
dim strConn, strSQL, rs, n, sFileName
'change the server name, if it is remote, change the UID and PWD to your own
strConn = "Provider=SQLOLEDB;Server=localhost;Database=pubs;UID=sa;PWD=;"
strSQL = "SELECT * FROM employee"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSQL, strConn, 1, 1
sFileName = "c:\temp\employee.xml"
rs.save sFileName, 1
rs.close
set rs =nothing
%>

or

<%
Response.ContentType = "text/xml"
dim strConn, strSQL, rs, n, sFileName
'change the server name, if it is remote, change the UID and PWD to your own
strConn = "Provider=SQLOLEDB;Server=localhost;Database=pubs;UID=sa;PWD=;"
strSQL = "SELECT * FROM employee"
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSQL, strConn, 1, 1
sFileName = "c:\temp\employee.xml"
rs.save Response, 1
rs.close
set rs =nothing
%>

 

视频教程列表
文章教程搜索
 
Asp推荐教程
Asp热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058