Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/03/2010, 08:58
Avatar de Porlachucha
Porlachucha
 
Fecha de Ingreso: noviembre-2008
Ubicación: Santiago
Mensajes: 172
Antigüedad: 15 años, 6 meses
Puntos: 5
DataTable a XML

Hola foro.

Alguien sabe como puedo generar un stringXml desde un datatable.

he inntentado estos dos metodos

Código:
        public static string ToXmlString(DataTable dtTmp)
        {
            string sE = Convert.ToString((char)13) + Convert.ToString((char)10);
            string sQ = Convert.ToString((char)34);
            string sXml = "";
            try
            {
                if (dtTmp.Rows.Count > 0)
                {
                    sXml = @"<ROOT>" + sE;
                    foreach (DataRow dr in dtTmp.Rows)
                    {
                        sXml += @"<" + dtTmp.TableName + " ";
                        foreach (DataColumn dc in dtTmp.Columns)
                        {
                            sXml += @dc.ColumnName + "=" + sQ + dr[dc.ColumnName].ToString().Trim() + sQ + " ";
                        }
                        sXml += @">" + "</" + dtTmp.TableName + ">" + sE;
                    }
                    sXml += @"</ROOT>";
                }
            }
            catch
            {
                sXml = "";
            }
            return sXml;
        }

Código:
dttInformeCliente.WriteXml(@tbxRutaInforme.Text + @"\Xml_" + sCodigoClienteProcesado + ".xml");
el primero, es demasiado lento, ya que tengo inormes que con app 1500 registros, se demora casi 1 minuto

el segundo metodo, me genera un archivo en xml, y a pesar que es mas rapido, lo que necesito no es un archivo, si no que un metodo que me guarde la informacion en una variable de tipo string.

Probablemente me estoy dando vueltas en tonterias y no logro ver la solucion, que me da la idea, es mas simple de lo que yo estoy intentando hacer.

alguna ayuda please!!!???

Gracias por su tiempo
Plch