2011-11-10 2 views
2

웹 분석에 Gety를 사용하고 사용자 정의 보고서를 생성하기위한 API가 있습니다.XML을 ASP 페이지에 표시

요청의 출력은 XML CSV JSON 또는 PHP로 다시 전송됩니다.

내 사이트는 ASP를 사용하며 XML로 내 페이지로 다시 출력되도록 요청하는지 알고 싶습니다. 어떻게 표시합니까?

이것은 Gety 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을 필요에 맞게 수정해야합니다.

관련 문제