以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  蛙蛙请教:成功的用ASP生成XML了,但有个问题要请教一下,谢谢.  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=8574)


--  作者:谁染枫林醉
--  发布时间:7/1/2004 12:06:00 PM

--  蛙蛙请教:成功的用ASP生成XML了,但有个问题要请教一下,谢谢.
蛙蛙请教:成功的用ASP生成XML了,但有个问题要请教一下,谢谢.

这个问题就是比如说动态生成Element节点,和text节点,万一数据库里面有个非法的字符,怎么写个函数替换呀?比如说Element节点出现了"xml"字符,或者text节点里出现了"<"字符,这个问题得解决吧,怎么弄呀?我其实是想把rs.field.name作为element节点,而把rs.field.value作为text节点的

<!--#include file="conn.asp" -->
<%
Response.ContentType = "text/XML"
Dim Rs,sql,strxml
strxml=""
strxml=strxml&"<?xml version='1.0' encoding='gb2312'?>"&vbcrlf
strxml=strxml&"<wawa>"
Set Rs= Server.CreateObject("Adodb.RecordSet")
sql="SELECT lei_id,lei_name FROM tese_lei ORDER BY lei_id DESC"
Rs.Open sql,Conn,1,1
If Not(Rs.Eof And Rs.Bof) Then
Do While Not Rs.Eof
strxml=strxml&" <lei_id>"&rs(0)&"</lei_id>"&vbcrlf
strxml=strxml&" <lei_name>"&rs(1)&"</lei_name>"&vbcrlf
Rs.MoveNext
Loop
strxml=strxml&"</wawa>"
Else
End If
call wawa_createxml(strXML)
%>
<%
function wawa_createxml(strXML)
dim objXML,fs,dir,files,path
Set fs = CreateObject("Scripting.FileSystemObject")
dir=server.mappath("xml")
if (fs.FolderExists(dir)) then
else
 fs.CreateFolder(dir)
end if
files="wawa.xml"
path=dir&"\"&files
set fs=nothing

Set objXML = Server.CreateObject("Msxml2.DOMDocument")
objXML.validateonparse = true
objXML.async=false
objXML.loadXML(strXML)
if objXML.ParseError.errorCode <> 0 then
    Response.Write("Error: " & objXML.parseError.reason & "<br>")
    Response.Write("Code: 0x" & hex(objXML.parseError.errorCode) & "<br>")
    Response.Write("At Line: " & objXML.parseError.line & "<br>")
    Response.Write("At pos: " & objXML.parseError.linePos & "<br>")
                
else
    set objRootElement = objXML.documentElement
    if not isObject(objRootElement) then
        Response.Write("no file loaded")
    else
        Response.Write(strXML)
    end if
 objXML.save Path
 'response.write "<script language='javascript'>"
 'response.write "alert('已完成');"
 'response.write "</script>"
end if
end function
%>


--  作者:doubleG
--  发布时间:8/28/2004 5:15:00 PM

--  
text里出现一些特殊字符时可以考虑用CDATA Section,DOM中提供了这个方法。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
8,826.172ms