Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Advanced
Nov 10, 2001

WEBINAR:

Live

Full Text Search: The Key to Better Natural Language Queries for NoSQL in Node.js


Date: 1/31/2018 @ 2 p.m. ET

Converting ResultSet to XML


Oftentimes, we need to convert ResultSets to XML for transferring data across different applications. Here is very simple code that transforms ResultSets into XML.
 
import java.sql.*;
import java.io.*;

public class XMLWriter
{
    public String generateXML(final ResultSet rs) 
throws SQLException
    {
        final StringBuffer buffer = 
new StringBuffer(1024*4);
        if(rs == null) return "";
        if(!rs.next()) return "";
        buffer.append("<?xml 
version=\"1.0\" encoding=\"UTF-8\"?>\n");
        buffer.append("<ResultSet>\n");
        ResultSetMetaData rsmd = rs.getMetaData();
        int colCount = rsmd.getColumnCount();
        for(int id=0; rs.next(); id++)
        {
            buffer.append("\t<row id=\"")
.append(id).append("\">\n");
            for(int i = 1; i <= colCount; i++)
            {
                int type = rsmd.getColumnType(i);
                buffer.append("\t\t<col name=\"" + 
rsmd.getColumnName(i) +
"\">");
                buffer.append(getValue( rs, i, type));
                buffer.append("</col>\n");
            }
            buffer.append("\t</row>\n");
        }
        buffer.append("</RowSet>");
        rs.close();
        return buffer.toString();
    }

    /**
     * This method gets the value of the specified column
     */
    private String getValue(final ResultSet rs, int colNum, 
int type)
throws SQLException
    {
        switch(type)
        {
            case Types.ARRAY :
            case Types.BLOB :
            case Types.CLOB :
            case Types.DISTINCT :
            case Types.LONGVARBINARY :
            case Types.VARBINARY :
            case Types.BINARY :
            case Types.REF :
            case Types.STRUCT :
                return "undefined";

            default :
            {
                Object value = rs.getObject(colNum);
                if(rs.wasNull() || (value == null))
                    return ("null");
                else
                    return (value.toString());
            }
        }
    }
}
Kesav Kumar
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date