手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp编程>列表

如何用Asp动态生成xml文件

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

相关代码如下:
Function ReplaceChar ( FstrSource )
dim strRet
if IsNull(FstrSource) then
&n bsp; FstrSource = ""
end if
strRet = Replace ( FstrSource , "&" , "&" )
strRet = Replace ( strRet , "<" , "<" )
strRet = Replace ( strRet , ">" , ">" )
strRet = Replace ( strRet , """" , """ )
strRet = Replace ( strRet , "'" , "'" )
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.CreateOb ject("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, sFileNa me
'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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!