Asp classic 在asp页面中显示XML
我使用Get Clicky进行web分析,并且有一个用于生成自定义报告的API 请求的输出以XML CSV JSON或PHP格式发送回 我的站点使用ASP,我想知道我是否请求将输出作为XML发送回我的页面,我如何(可以)显示它 这是Get Clicky API的响应示例Asp classic 在asp页面中显示XML,asp-classic,Asp Classic,我使用Get Clicky进行web分析,并且有一个用于生成自定义报告的API 请求的输出以XML CSV JSON或PHP格式发送回 我的站点使用ASP,我想知道我是否请求将输出作为XML发送回我的页面,我如何(可以)显示它 这是Get Clicky API的响应示例 <response status="ok"> <type type="visitors"> <date date="2011-11-10"> <item> <value>
<response status="ok">
<type type="visitors">
<date date="2011-11-10">
<item>
<value>54</value>
</item>
</date>
</type>
<type type="actions">
<date date="2011-11-10">
<item>
<value>102</value>
</item>
</date>
</type>
<type type="actions-average">
<date date="2011-11-10">
<item>
<value>1.9</value>
</item>
</date>
</type>
<type type="time-average">
<date date="2011-11-10">
<item>
<value>209</value>
</item>
</date>
</type>
<type type="bounce-rate">
<date date="2011-11-10">
<item>
<value>39</value>
</item>
</date>
</type>
</response>
54
102
1.9
209
39
处理这个问题的最佳方法是使用一些XSLT
我将首先假设您已经用您在问题中包含的XML加载了一个MSXMLDOM
下面是获取该信息并生成一些HTML输出的代码:-
Dim xsl : Set xsl = CreateObject("MSXML2.DOMDocument.3.0")
xsl.async = false
xsl.load Server.MapPath("/ClickyResponseRender.xsl")
Response.Write yourLoadedDOM.TransformNode(xsl)
下面是“ClickyResponsender.xsl”文件的一些基本内容,上面希望该文件位于根文件夹中
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" />
<xsl:template match="/response">
<html>
<body>
<table>
<thead>
<tr>
<th>Type</th>
<th>Date</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<xsl:apply-templates select="type" />
</tbody>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="type">
<tr>
<td>
<xsl:value-of select="@type"/>
</td>
<td>
<xsl:value-of select="date/@date"/>
</td>
<td align="right">
<xsl:value-of select="date/item/value"/>
</td>
</tr>
</xsl:template>
</xsl:stylesheet>
类型
日期
价值
这只生成一个简单的表,列出每种类型及其日期和值。但是,我怀疑模式可能更复杂一些(例如,每种类型有多个日期),因此需要修改XSL以满足需要