用Asp與XML實(shí)現(xiàn)交互的一個(gè)實(shí)例源碼
更新時(shí)間:2007年11月28日 22:38:08 作者:
XML 是標(biāo)準(zhǔn)擴(kuò)展語(yǔ)言,是未來(lái)Web編程的標(biāo)準(zhǔn),asp 是現(xiàn)在廣為流傳的web編程語(yǔ)言之一,能不能讓他們兩個(gè)聯(lián)合起來(lái)發(fā)揮作用呢?豆腐在這里給大家提供一個(gè)很簡(jiǎn)單的Asp與XML實(shí)現(xiàn)交互的一個(gè)實(shí)例源例子關(guān)于XML和XSL限于篇幅和知識(shí)水平豆腐就不在這里獻(xiàn)丑了下面首先來(lái)說(shuō)說(shuō)幾個(gè)需要用到的文件的內(nèi)容。
testXsl.xsl:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl";>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="PERSONNEL/PERSON">
<xsl:choose>
<xsl:when match=".[FG='boy']">
<input type="text">
<xsl:attribute name="value">
<xsl:value-of select="NAME"/>
</xsl:attribute>
</input>
<br/>
</xsl:when>
<xsl:otherwise match=".[FG='girl']">
<font color="red"><li><xsl:value-of select="NAME"/></li></font>
<br/>
</xsl:otherwise>
<xsl:otherwise>
<font color="blue"><xsl:value-of select="NAME"/></font>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
testXML.xml:
<?xml version="1.0" encoding="gb2312" ?>
<PERSONNEL>
<PERSON>
<NAME>男性</NAME>
<FG>boy</FG>
</PERSON>
<PERSON>
<NAME>女性</NAME>
<FG>girl</FG>
</PERSON>
<PERSON>
<NAME>呵呵,這個(gè)可不好說(shuō)</NAME>
<FG>donot know</FG>
</PERSON>
</PERSONNEL>
testXML.asp
<%
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(server.mappath("testXML.xml"))
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(server.mappath("testXSL.xsl"))
Response.Write(xml.transformNode(xsl))
%>
對(duì)照這個(gè)例子,我們主要來(lái)講一下 testXML.asp 文件
set xml = Server.CreateObject("Microsoft.XMLDOM")
set xsl = Server.CreateObject("Microsoft.XMLDOM")
用來(lái)分別創(chuàng)建一個(gè)xml和xsl的實(shí)例,其中xml.load(server.mappath("testXML.xml"))用來(lái)加載
包含數(shù)據(jù)的xml文件,xsl.load(server.mappath("testXSL.xsl"))用來(lái)加載包含數(shù)據(jù)規(guī)則的xsl
文件,最終利用xml.transformNode(xsl)將前面的規(guī)則使用在XML文件中。
testXsl.xsl:
復(fù)制代碼 代碼如下:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl";>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="PERSONNEL/PERSON">
<xsl:choose>
<xsl:when match=".[FG='boy']">
<input type="text">
<xsl:attribute name="value">
<xsl:value-of select="NAME"/>
</xsl:attribute>
</input>
<br/>
</xsl:when>
<xsl:otherwise match=".[FG='girl']">
<font color="red"><li><xsl:value-of select="NAME"/></li></font>
<br/>
</xsl:otherwise>
<xsl:otherwise>
<font color="blue"><xsl:value-of select="NAME"/></font>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
testXML.xml:
復(fù)制代碼 代碼如下:
<?xml version="1.0" encoding="gb2312" ?>
<PERSONNEL>
<PERSON>
<NAME>男性</NAME>
<FG>boy</FG>
</PERSON>
<PERSON>
<NAME>女性</NAME>
<FG>girl</FG>
</PERSON>
<PERSON>
<NAME>呵呵,這個(gè)可不好說(shuō)</NAME>
<FG>donot know</FG>
</PERSON>
</PERSONNEL>
testXML.asp
復(fù)制代碼 代碼如下:
<%
set xml = Server.CreateObject("Microsoft.XMLDOM")
xml.async = false
xml.load(server.mappath("testXML.xml"))
set xsl = Server.CreateObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load(server.mappath("testXSL.xsl"))
Response.Write(xml.transformNode(xsl))
%>
對(duì)照這個(gè)例子,我們主要來(lái)講一下 testXML.asp 文件
set xml = Server.CreateObject("Microsoft.XMLDOM")
set xsl = Server.CreateObject("Microsoft.XMLDOM")
用來(lái)分別創(chuàng)建一個(gè)xml和xsl的實(shí)例,其中xml.load(server.mappath("testXML.xml"))用來(lái)加載
包含數(shù)據(jù)的xml文件,xsl.load(server.mappath("testXSL.xsl"))用來(lái)加載包含數(shù)據(jù)規(guī)則的xsl
文件,最終利用xml.transformNode(xsl)將前面的規(guī)則使用在XML文件中。
相關(guān)文章
讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題
對(duì)于數(shù)據(jù)量較大的xml文件,使用xmlDocument讀取時(shí),雖然支持XPath,查詢比較方便,但是需要先load,這樣就浪費(fèi)了內(nèi)存,使用起來(lái)速度比較慢。2009-11-11氣象 XML 數(shù)據(jù)源應(yīng)用程序開(kāi)發(fā)指南-操作檢查列表
氣象 XML 數(shù)據(jù)源應(yīng)用程序開(kāi)發(fā)指南-操作檢查列表...2007-02-02powerbuilder(pb)中 xml的應(yīng)用一例
powerbuilder中的數(shù)據(jù)窗口真是好的不得了,工作基本上都是圍繞它做,很高效,這幾天項(xiàng)目上需要用導(dǎo)出xml文件,就用pb9(xml導(dǎo)出導(dǎo)入功能是從powerbuilder9.0增加的功能)做了一個(gè)demo以驗(yàn)證可行性2009-06-06javascript xml xsl取值及數(shù)據(jù)修改
前幾天公司要用xml快速方便的存取屬性N多的數(shù)據(jù),跟sinoly合作研究了一下.做了一個(gè)小例子.2008-06-06