server client XML API

Costas

Administrator
Staff member
Server Side :
JavaScript:
Dim conn
Set conn = CreateObject("ADODB.Connection")

Dim connString
connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=data.mdb;"
conn.Open connString

Dim rs
Set rs = CreateObject("ADODB.Recordset")

Dim sql
sql = "select top 3000 * from Test"
rs.open sql,conn, 3

WScript.Echo SerializeRS(rs)

Function SerializeRS(rs)
    Set xmlDoc = Server.CreateObject("MSXML2.DOMDocument.6.0")
    xmlDoc.async = False
    xmlDoc.appendChild xmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='UTF-8'")

    Set rootNode = xmlDoc.createElement("Records")
    xmlDoc.appendChild rootNode
 
    Dim fieldNode
    Do While Not rs.EOF
        Set recordNode = xmlDoc.createElement("Record")
     
        For i = 0 To rs.Fields.Count - 1
         
            Set fieldNode = xmlDoc.createElement(rs.Fields(i).Name)
            fieldNode.text = rs.Fields(i).Value
            recordNode.appendChild fieldNode
        Next
     
        rootNode.appendChild recordNode
        rs.MoveNext
    Loop
 
    SerializeRS = xmlDoc.xml
 
'Response.ContentType = "text/xml"
'Response.Write xmlDoc.xml
End Function

Client Side :
JavaScript:
<script>
    function fetchData() {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'dataapi.asp?page=1&pageSize=10', true);

        xhr.onload = function() {
            if (xhr.status === 200) {
                var xmlDoc = xhr.responseXML;
                var records = xmlDoc.getElementsByTagName("Records");
                var output = "<h2>Records</h2><ul>";

                for (var i = 0; i < records.length; i++) {
                    var record = records[i];
                    output += "<li>";
                    for (var j = 0; j < record.childNodes.length; j++) {
                        var field = record.childNodes[j];
                        output += field.nodeName + ": " + field.textContent + "<br>";
                    }
                    output += "</li>";
                }
                output += "</ul>";
                document.getElementById("data-container").innerHTML = output;
            } else {
                console.error('Error fetching data:', xhr.statusText);
            }
        };

        xhr.onerror = function() {
            console.error('Request failed');
        };

        xhr.send();
    }

    window.onload = fetchData; // Fetch data when the page loads
</script>
 
Top