佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > ASP XML編程objXML.async = False第1/2頁

ASP XML編程objXML.async = False第1/2頁

熱門標簽:銀行業(yè)務 Mysql連接數設置 阿里云 團購網站 Linux服務器 服務器配置 電子圍欄 科大訊飛語音識別系統(tǒng)
從技術上來說,在ASP環(huán)境中,讀入并管理XML文本的主要方法有三種:
創(chuàng)建MSXML對象,并且將XML文檔載入DOM;
使用服務器端嵌入(Server-Side Include,SSI);
就如同訪問其他文本文件一樣,使用FileSystemObject來訪問XML文檔;
第四種方法是在客戶端創(chuàng)建內置的數據島,有關的內容以后講解。
一、使用DOM
為了在ASP代碼中使用DOM,需要創(chuàng)建一個Microsoft XML分析器的實例,它像任何別的COM組件一樣被實例化,在頁面的開始處頊要增加幾行標準代碼。這些代碼創(chuàng)建一個分析器實例,加載XML文檔至DOM,并且將根元素(即文檔元素)設置為當前節(jié)點。
‘Instatiate the XML Processor
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
Load the XML Document
objXML.load(Server.MapPath("mydata.xml")
Set the Document Element
Set objRootElement = objXML.documentElement
在XML文檔被加載之前,還需要執(zhí)行第四步,即設置validateOnParse屬性為True,這可確保被加載的文檔為有效的XML文檔。這可避免后面遇到的各種麻煩:
Instatiate the XML Processor
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
The processos should validate the document
objXML.validateOnParse = True
Load the XML Document
objXML.load(Server.MapPath("mydata.xml")
Set the Document Element
Set objRootElement = objXML.documentElement
最后,還有一個可選步驟,它也是出現在加載之前。它要求同步加載文件:
objXML.async = false
這說時加載并驗證一個相當大的文件需要占用一些時間。另一種替換方案是忽略這一步,允許非同步加載,這是缺省情況,一旦完成這些初始化步驟,XML文檔就被加載,并且做好了被處理的準備。DOM所有重要的功能都是可配置的。
當然,就如同任何COM對象一樣,在使用完之后,請記住必須銷毀它:
Set objXML = nothing
二、服務器端嵌入
服務器端嵌入可用于將XML文檔代碼插入ASP頁面。
三、用ASP代碼處理XML的示例
HTML>
HEAD>
/HEAD>
BODY>
%
Dim sourceFile,source,rootElement,HTMLCode
sourceFile = Request.ServerVariables("APPL_PHYSICAL_PATH") "xml\contacts.xml"
set source = Server.CreateObject("Microsoft.XMLDOM")
source.async = false
source.load sourceFile
set rootElement = source.documentElement
HTMLCode = HTMLCode "font size=4 face=verdana>"
HTMLCode = HTMLCode rootElement.childNodes(0).text
HTMLCode = HTMLCode "/font>p>/p>font size=3 face=verdana>I>"
HTMLCode = HTMLCode rootElement.childNodes(0).text
HTMLCode = HTMLCode "/I>/font>p>/p>font size=3 face=verdana>"
HTMLCode = HTMLCode rootElement.childNodes(0).text
HTMLCode = HTMLCode "/font>p>/p>"
response.write(HTMLCode)
set source = nothing
%>
/BODY>
/HTML>
contacts.xml
?xml version="1.0" ?>
CONTACT_INFO>
CONTACT>
NAME>JOHN/NAME>
PHONE>111-1111-111/PHONE>
/CONTACT>
CONTACT>
NAME>SMITH/NAME>
PHONE>222-2222-222/PHONE>
/CONTACT>
CONTACT>
NAME>MIKE/NAME>
PHONE>333-3333-333/PHONE>
/CONTACT>
/CONTACT_INFO>
經XSL格式化的XML數據
styleContact.asp
HTML>
BODY>
%
sourceFile = server.mapPath("contact.xml")
styleFile = server.mapPath("contact.xsl")
set source = Server.CreateObject("Microsoft.XMLDOM")
source.async = False
source.load(sourceFile)
set style = Server.CreateObject("Microsoft.XMLDOM")
style.async = False
style.load(styleFile)
response.write(source.transformNode(style))
%>
/BODY>
/HTML>
contact.xml
?xml version="1.0" ?>
?xml-stylesheet type="text/xsl" href="contact.xsl" ?>
CONTACT_INFO>
CONTACT>
NAME>ZHOU.ZF/NAME>
PHONE>11111111111/PHONE>
/CONTACT>
CONTACT>
NAME>LISTEN/NAME>
PHONE>22222222222/PHONE>
/CONTACT>
CONTACT>
NAME>BUBU/NAME>
PHONE>33333333333/PHONE>
/CONTACT>
/CONTACT_INFO>
contact.xsl
?xml version="1.0" ?>
xsl:template xmlns:xsl="http://www.w3.org/TR/WD-xsl">
HTML>
BODY>
xsl:for-each select="CONTACT_INFO/CONTACT">
DIV>
xsl:value-of select="NAME"/>
/DIV>
/xsl:for-each>
/BODY>
/HTML>
/xsl:template>
12下一頁閱讀全文

標簽:棗莊 廣元 大理 萍鄉(xiāng) 江蘇 衡水 衢州 蚌埠

巨人網絡通訊聲明:本文標題《ASP XML編程objXML.async = False第1/2頁》,本文關鍵詞  ;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    黎城县| 金堂县| 玉山县| 遂宁市| 西华县| 团风县| 获嘉县| 太谷县| 都江堰市| 渝中区| 古交市| 佛冈县| 天水市| 稷山县| 垦利县| 岑溪市| 汉阴县| 宁陕县| 陆良县| 太谷县| 本溪| 齐齐哈尔市| 嘉禾县| 延川县| 行唐县| 阳原县| 清涧县| 湄潭县| 嘉禾县| 淮南市| 馆陶县| 类乌齐县| 华容县| 常州市| 罗江县| 宣武区| 浙江省| 阿坝县| 临高县| 安多县| 石渠县|