2011-11-10 27 views
2

ウェブアナリティクスでGet Clickyを使用し、カスタムレポートを生成するためのAPIがあります。aspページにXMLを表示

リクエストの出力は、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> 

答えて

2

これを処理する最善の方法は、一部のXSLTです。

私はあなたの質問に含まれているXMLがロードされたMSXML DOMを持っているという前提から始めます。ここで

はそれを取ると、いくつかのHTML出力を生成するためのコードである: -

Dim xsl : Set xsl = CreateObject("MSXML2.DOMDocument.3.0") 

xsl.async = false 
xsl.load Server.MapPath("/ClickyResponseRender.xsl") 

Response.Write yourLoadedDOM.TransformNode(xsl) 

ここでは上記のルートフォルダにあることを期待「ClickyResponseRender.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を変更する必要があります。

関連する問題