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()); } } }}