java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java
branchv_0
changeset 225 906f767ef9b3
parent 207 2bba68ef47c1
child 233 0fb3b92e01c5
--- a/java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java	Sun Aug 30 02:28:15 2015 +0200
+++ b/java/sql-dk/src/info/globalcode/sql/dk/formatting/XmlFormatter.java	Sun Sep 06 21:46:03 2015 +0200
@@ -26,6 +26,7 @@
 import static info.globalcode.sql.dk.formatting.AbstractXmlFormatter.qname;
 import java.sql.Array;
 import java.sql.SQLException;
+import java.sql.SQLXML;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -174,6 +175,15 @@
 				writeColumnValue(String.valueOf(value));
 			}
 
+		} else if (value instanceof SQLXML) {
+			SQLXML xml = (SQLXML) value;
+			// TODO: parse DOM/SAX and transplant XML, don't escape (optional)
+			try {
+				printTextElement(qname("column"), attributes, xml.getString());
+			} catch (SQLException e) {
+				log.log(Level.SEVERE, "Unable to format XML", e);
+				writeColumnValue(String.valueOf(value));
+			}
 		} else {
 			printTextElement(qname("column"), attributes, toString(value));
 		}