none
Nova linha no xml... RRS feed

  • Pergunta

  • Olá comunidade.

    Estou escrevendo dados em um arquivo XML respeitando a seguinte estrutura:

    ------------------------------------------------------------------------------------------------------------------------------------------------------

    <?xml version="1.0"?>

        <configFormas>
            <formas forma_web="CobreBem" forma_solus="DINHEIRO"> </formas>
            <formas forma_web="Bradesco" forma_solus="BRADESCO"> </formas>
            <formas forma_web="Boleto"   forma_solus="Títulos"> </formas>
           
        </configFormas>
    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Estou precisando inserir uma nova chave <formas></formas>, neste mesmo arquivo XML. Usando o código abaixo estou tendo o seguinte problema: O arquivo todo é apagado e é inserido somente uma linha <formas> no arquivo XML. Gostaria de saber como inserir uma nova linha <formas> abaixo das outras, sem apagar o conteúdo anterior.

    O código:

    ------------------------------------------------------------------------------------------------------------------------------------------------------
    try
            
                xml = new XmlTextWriter("cfgformas.xml", null);
                xml.Formatting = Formatting.Indented;
                xml.Indentation = 5;
                xml.Namespaces = false;
               
                xml.WriteStartDocument();
               
                xml.WriteStartElement("formas");
                xml.WriteAttributeString("forma_web", this.sFormaWeb);
                xml.WriteAttributeString("forma_solus", this.sFormaLocal);
                xml.WriteWhitespace(" ");
                xml.WriteEndElement();           
                xml.Flush();

                return true;

             }
    ------------------------------------------------------------------------------------------------------------------------------------------------------

    Att.
    Juliano Soares.


    sexta-feira, 16 de novembro de 2007 10:38

Respostas



  • Pesquisando encontrei a solução aqui no fórum mesmo....

    O link da resposta

    http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=476240&SiteID=21

    Resumindo a lógica é mais ou menos esta ...

    Tente o seguinte:


    // Inserindo nova linha no DataSet
        try
        {   
            DataRow drw = SeuDataSet.Tables[0].NewRow();
            drw["id"] = this.tbId.Text;
            drw["nome"] = this.tbNome.Text;
            drw["cor"] = this.tbCor.Text;
            SeuDataSet.Tables[0].Rows.Add(drw);
        }
        catch{}
    }



    A resposta original foi postada por Fabiano Santiago.


    Att.

    Juliano Soares



    sexta-feira, 16 de novembro de 2007 12:03