devxlogo

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("
");        buffer.append("
");        ResultSetMetaData rsmd = rs.getMetaData();        int colCount = rsmd.getColumnCount();        for(int id=0; rs.next(); id++)        {            buffer.append("	
");            for(int i = 1; i <= colCount; i++)            {                int type = rsmd.getColumnType(i);                buffer.append("		");                buffer.append(getValue( rs, i, type));                buffer.append("
");            }            buffer.append("	
");        }        buffer.append("");        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());            }        }    }}

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.