public void rs2xml(ResultSet rs, String tabla, String elemento, java.io.Writer out) throws java.io.IOException, SQLException { ResultSetMetaData rsmd=rs.getMetaData(); out.write("<"+tabla+">\n"); while (rs.next()) { out.write(" <"+elemento+">\n"); for (int i = 1; i <= rsmd.getColumnCount(); i++) { out.write(" <"+rsmd.getColumnLabel(i).toLowerCase()+"><![CDATA["); String var=rs.getString(i); if (var!=null) { out.write(var); } out.write("]]></"+rsmd.getColumnLabel(i).toLowerCase()+">\n"); } out.write(" </"+elemento+">\n"); } out.write("</"+tabla+">\n"); }Recibe el ResultSet, el nombre que le queremos dar al elemento XML root y el nombre que le queremos dar al elemento XML de cada registro.
public void ExportarXML(string filename) { XmlTextWriter writer = new XmlTextWriter(filename, System.Text.Encoding.UTF8); //Usa indentación por legibilidad writer.Formatting = Formatting.Indented; //Escribe la declaración del XML writer.WriteStartDocument(); //Escribe el elemento raiz writer.WriteStartElement("persona"); //Escribe los elementos dentro de sus etiquetas writer.WriteElementString("nombre", "Emanuel"); writer.WriteElementString("apellido", "Lopez"); writer.WriteElementString("nacionalidad", "Argentino"); writer.WriteEndElement(); writer.Flush(); writer.Close(); }la salida sera la siguiente
<?xml version="1.0" encoding="utf-8"?> <persona> <nombre>Emanuel</nombre> <apellido>Lopez</apellido> <nacionalidad>Argentino</nacionalidad> <persona>
javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance(); javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder(); org.w3c.dom.Document doc = db.parse(new java.io.File("c:/ruta/al/fichero.xml"));