使用 XML 数据进行 ASP 的归档检索解决方案





3.00/5 (1投票)
使用列索引从 XML 中检索数据。
引言
这个归档检索解决方案适用于不使用任何数据库,而是使用 XML 数据源的应用程序。 在速度方面,我可以肯定地说 XSLT 在数据处理方面是最好的。 在本文中,我描述了该检索解决方案如何使用 ASP 工作,并调用一个访问 XML 文件的 XSLT 程序。 这是一个简单的原型,让您了解 XSLT 如何与 ASP 应用程序接口。
Using the Code
只需将源代码文件添加到或复制到 wwwroot 文件夹(IIS 根文件夹)中。 然后,您可以从浏览器调用它来访问该文件。
- 将 search.asp 添加到为归档程序创建的文件夹中。 这包含允许输入查询的 ASP 代码。
- 将 general.xsl 添加为 XML 文件上的查询语句。
- 将 test.xml 添加为以 XML 格式格式化的测试数据。
' Source file '
xslFile = "general.xsl"
xmlFile = "test.xml"
Set xslDoc = Server.CreateObject("MSXML2.FreeThreadedDOMDocument")
xslDoc.async = false
xslDoc.load(Server.MapPath(xslFile))
Set xmlDoc = Server.CreateObject("MSXML2.DOMDocument")
xmlDoc.async = false
xmlDoc.load(Server.MapPath(xmlFile))
'This is the critical widget, a compliled XSL template'
Set myTemplate = Server.CreateObject("MSXML2.XSLTemplate")
myTemplate.stylesheet = xslDoc
Set myProc = myTemplate.createProcessor
myProc.input = xmlDoc
myProc.transform
Response.Write(myProc.output)
<xsl:for-each select="//HAWB[@HawbNo=$p_hawb]">
<tr>
<td><xsl:value-of select="IDNO"/></td>
<td><xsl:value-of select="SHIPDATE"/></td>
<td><xsl:value-of select="DECLNO"/></td>
<td><xsl:value-of select="CONSCOM"/></td>
<td><xsl:value-of select="SHIPCOM"/></td>
</tr>
</xsl:for-each>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<DATALOG>
<HAWB HawbNo="815710000000">
<IDNO>AA000003285001</IDNO>
<DECLNO>182106240</DECLNO>
<SHIPDATE>1/1/1998</SHIPDATE>
<CONSCOM>CONSIGNEE COMPANY 1 Inc </CONSCOM>
<SHIPCOM>SHIPPER COMPANY 1 Inc</SHIPCOM>
</HAWB>
<HAWB HawbNo="815710000001">
<IDNO>AA000003285002</IDNO>
<DECLNO>182106241</DECLNO>
<SHIPDATE>1/1/1998</SHIPDATE>
<CONSCOM>CONSIGNEE COMPANY 2 Inc </CONSCOM>
<SHIPCOM>SHIPPER COMPANY 2 Inc</SHIPCOM>
</HAWB>
<HAWB HawbNo="815710000002">
<IDNO>AA000003285003</IDNO>
<DECLNO>182106242</DECLNO>
<SHIPDATE>1/1/1998</SHIPDATE>
<CONSCOM>CONSIGNEE COMPANY 3 Inc </CONSCOM>
<SHIPCOM>SHIPPER COMPANY 3 Inc</SHIPCOM>
</HAWB>
</DATALOG>