Лучший способ справиться с этим - использовать XSLT.
Я начну с предположения, что у вас есть MSXML DOM, загруженный с XML, который вы включили в свой вопрос.
Вот код, который нужно взять и сгенерировать вывод 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 необходимо будет изменить в соответствии с потребностями.