Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 在asp页面中显示XML_Asp Classic - Fatal编程技术网

Asp classic 在asp页面中显示XML

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>

我使用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>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以满足需要