如何用Asp动态生成xml文件
2006-09-01 16:29
471 查看
教你一招:如何用Asp动态生成xml文件
2005-03-03 22:14:01.803
相关代码如下:
Function ReplaceChar ( FstrSource )
dim strRet
if IsNull(FstrSource) then
FstrSour
ce = ""
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 t
hrough 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, sFileName
'c
hange 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
%>
2005-03-03 22:14:01.803
相关代码如下:
Function ReplaceChar ( FstrSource )
dim strRet
if IsNull(FstrSource) then
FstrSour
ce = ""
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 t
hrough 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, sFileName
'c
hange 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
%>
相关文章推荐
- xml动态文件如何生成
- 如何在asp.net中动态生成验证码
- [iOS开发]如何用KissXML生成一个XML文件
- asp在服务器端获取网页生成的xml文件,并解析
- 如何动态生成 JavaScript 文件
- 如何使用ASP生成Word文件
- 如何在ASP页面动态Inclue文件?
- 使用Asp.net 生成 xml 文件,两种方式(DataSet和自定义模式)
- java中如何使用asm动态的生成或修改一个class文件以及asm的架构思想
- 刚注册,问个问题,在asp.net里有个xml文档以MemoryStream存在资源文件中,现在我如何把他读出来,还原成xml文档。
- ASP.NET利用输出流生成下载文件(doc、xml..)
- 在asp.net中如何从视频文件中抓取一桢并生成图像文件
- 问asp如何读取多个同样节点的xml文件。
- mybatis generatorConfig.xml如何执行生成实体类和映射文件
- asp.net 生成 xml 文件
- 如何用xmlspy将xml文档生成xsd文件
- asp.net c# 如何读取XML文件里的CDATA里的HTML
- [VB.NET]vb.net如何读取数据库生成指定格式的xml文件
- 痛并努力着-在asp.net中如何从视频文件中抓取一桢并生成图像文件
- 动态生成mybatis的xml文件,其中的sql语句生成