none
DataSet XML RRS feed

  • Pergunta

  • Pessoal preciso criar um XML de um DataSet que tem dois DataTabe.

    estou fazendo da seguinte forma:

    DataSet

     

    ds = new DataSet("XML");

     

    DataTable dtTipoDoc = new DataTable("TipoDocumento");

     

    DataTable dtIndice = new DataTable("Indice");

    ds.Tables.Add(dtTipoDoc);

    ds.Tables.Add(dtIndice);

    dtTipoDoc.Columns.Add(

    "NUMG_DocumentoTipo", typeof(Int32));

    dtTipoDoc.Columns.Add(

    "NUMG_Departamento", typeof(Int32));

    dtTipoDoc.Columns.Add(

    "DESC_DocumentoTipo");

    dtTipoDoc.Columns.Add(

    "FLAG_CodigoBarras");

    dtIndice.Columns.Add(

    "iNUMG_Indice", typeof(Int32));

    dtIndice.Columns.Add(

    "iNUMG_DocumentoTipo", typeof(Int32));

    dtIndice.Columns.Add(

    "iDESC_Indice");

    dtIndice.Columns.Add(

    "iTIPO_Indice");

    dtIndice.Columns.Add(

    "iNUMR_Tamanho");

    dtIndice.Columns.Add(

    "iDESC_Mascara");

     

    DataRelation relacionamento = new DataRelation("XML", dtTipoDoc.Columns["NUMG_DocumentoTipo"], dtIndice.Columns["iNUMG_DocumentoTipo"], true);

    ds.Relations.Add(relacionamento);

     

    DataRow rows1;

    rows1 = dtTipoDoc.NewRow();

    rows1[

    "NUMG_DocumentoTipo"] = eDocumentoTipo.NUMG_DocumentoTipo;

    rows1[

    "NUMG_Departamento"] = eDocumentoTipo.NUMG_Departamento;

    rows1[

    "DESC_DocumentoTipo"] = eDocumentoTipo.DESC_DocumentoTipo;

    rows1[

    "FLAG_CodigoBarras"] = false;

    dtTipoDoc.Rows.Add(rows1);

     

    foreach (gt1.easyimage.entidades.Indice ind in lista)

    {

     

     

    DataRow rows2;

    rows2 = dtIndice.NewRow();

    rows2[

    "iNUMG_Indice"] = ind.NUMG_Indice;

    rows2[

    "iNUMG_DocumentoTipo"] = ind.NUMG_DocumentoTipo;

    rows2[

    "iDESC_Indice"] = ind.DESC_Indice;

    rows2[

    "iTIPO_Indice"] = ind.TIPO_Indice;

    rows2[

    "iNUMR_Tamanho"] = ind.NUMR_Tamanho;

    rows2[

    "iDESC_Mascara"] = ind.DESC_Mascara;

     

    dtIndice.Rows.Add(rows2);

    }

     

    string xml = ds.GetXml;

    Até ai beleza, mas preciso que o XML esteja da seguinte forma:

    <XML>
      <TipoDocumento>
        <NUMG_DocumentoTipo>0</NUMG_DocumentoTipo>
        <NUMG_Departamento>22</NUMG_Departamento>
        <DESC_DocumentoTipo>SSSS</DESC_DocumentoTipo>
        <FLAG_CodigoBarras>False</FLAG_CodigoBarras>
        <TipoDocumento>
        <NUMG_DocumentoTipo>0</NUMG_DocumentoTipo>
        <NUMG_Departamento>22</NUMG_Departamento>
        <DESC_DocumentoTipo>SSSS</DESC_DocumentoTipo>
        <FLAG_CodigoBarras>False</FLAG_CodigoBarras>
      </TipoDocumento>
      <Indice>
        <iNUMG_Indice>0</iNUMG_Indice>
        <iNUMG_DocumentoTipo>0</iNUMG_DocumentoTipo>
        <iDESC_Indice>AAA</iDESC_Indice>
        <iTIPO_Indice>1</iTIPO_Indice>
        <iNUMR_Tamanho>333</iNUMR_Tamanho>
        <iDESC_Mascara>aaaa</iDESC_Mascara>
      </Indice>
      <Indice>
        <iNUMG_Indice>0</iNUMG_Indice>
        <iNUMG_DocumentoTipo>0</iNUMG_DocumentoTipo>
        <iDESC_Indice>DDD</iDESC_Indice>
        <iTIPO_Indice>2</iTIPO_Indice>
        <iNUMR_Tamanho>11</iNUMR_Tamanho>
        <iDESC_Mascara />
      </Indice>

    </TipoDocumento>
    </XML>

    Ou seja meu quero que o xml do indice fique dentro da tag tipo documento.

    Do jeito que estou fazendo tá ficando da seguinte forma:

    <XML>
      <TipoDocumento>
        <NUMG_DocumentoTipo>0</NUMG_DocumentoTipo>
        <NUMG_Departamento>22</NUMG_Departamento>
        <DESC_DocumentoTipo>SSSS</DESC_DocumentoTipo>
        <FLAG_CodigoBarras>False</FLAG_CodigoBarras>
      </TipoDocumento>
      <TipoDocumento>
        <NUMG_DocumentoTipo>0</NUMG_DocumentoTipo>
        <NUMG_Departamento>22</NUMG_Departamento>
        <DESC_DocumentoTipo>SSSS</DESC_DocumentoTipo>
        <FLAG_CodigoBarras>False</FLAG_CodigoBarras>
      </TipoDocumento>
      <Indice>
        <iNUMG_Indice>0</iNUMG_Indice>
        <iNUMG_DocumentoTipo>0</iNUMG_DocumentoTipo>
        <iDESC_Indice>AAA</iDESC_Indice>
        <iTIPO_Indice>1</iTIPO_Indice>
        <iNUMR_Tamanho>333</iNUMR_Tamanho>
        <iDESC_Mascara>aaaa</iDESC_Mascara>
      </Indice>
      <Indice>
        <iNUMG_Indice>0</iNUMG_Indice>
        <iNUMG_DocumentoTipo>0</iNUMG_DocumentoTipo>
        <iDESC_Indice>DDD</iDESC_Indice>
        <iTIPO_Indice>2</iTIPO_Indice>
        <iNUMR_Tamanho>11</iNUMR_Tamanho>
        <iDESC_Mascara />
      </Indice>
    </XML>

    alguem pode me ajudar?

    Estou usando ASP.NET com C#

     

    quarta-feira, 15 de setembro de 2010 19:57

Respostas