none
XMLDataSource - Inclusão, Alteração, Exclusão e Seleção RRS feed

  • Pergunta

  • Boa tarde amigos.

    Gostaria de saber se alguem cohece algum tutorial, ou possa me dar uma ajuda. Preciso criar um projeto de sie que utilize como base de dados um arquivo XML. Além da leitura, preciso que faça também inclusão, alteração e exclusão de registros.

    Alguem pode me ajudar?

    Desde já obrigado.

    Atenciosamente,

    terça-feira, 7 de novembro de 2006 19:41

Respostas

  • Juninho.
    Tenta assim:
    Carregando um dataset com um xml:

    DataSet meuDts = new DataSet();
    meuDts.ReadXml(MapPath("App_Data/meuXml.xml"));

    Pronto, vc já pode carregar um grid com esse dataSet.
    Inserindo valores:

    DataRow meuDTR = meuDts .Tables[0].NewRow();
    meuDTR ["id"] = "10";
    meuDTR ["nome"] = "Meu nome aquí";
    meuDts .Tables[0].Rows.Add(meuDTR );
    meuDts.WriteXml(MapPath("App_Data/meuXml.xml"));

    Pronto, vc Inseriu uma linha no seu dataset e no seu XML;
    Ps: este código está em c#, se precisar, converta em vb.net;
    Lembre-se que o dataset deve ter uma estrutura igual a do xml.
    quarta-feira, 8 de novembro de 2006 13:59
  • Gláuber... bom dia.

    Vlw pela ajuda que vc me deu até agora... Eu postei essa nova dúvida em um novo tópico.

    Abraço!!!

    sexta-feira, 17 de novembro de 2006 12:31

Todas as Respostas

  • Juninho;
    Tenho feito assim.

    Crio um dataset com os dados do XML atravéz do método: dtsMeuDataSet.ReadXml(MapPath(fileName))
    Altero o dataset.
    Para atualizar o xml, uso:
    dtsMeuDataSet.WriteXml(MapPath(fileName))
    Com isso vc já pode alterar todo o seu xml através da classe DataSet.

    terça-feira, 7 de novembro de 2006 19:46
  • Glauber... bom dia.

    Vlw pela ajuda cara. Mas será que você não pode me dar um exemplo pratico. Eu não sou muito experiente em .Net então algumas coisas são meio confusas...

    ...

    quarta-feira, 8 de novembro de 2006 12:40
  • Juninho.
    Tenta assim:
    Carregando um dataset com um xml:

    DataSet meuDts = new DataSet();
    meuDts.ReadXml(MapPath("App_Data/meuXml.xml"));

    Pronto, vc já pode carregar um grid com esse dataSet.
    Inserindo valores:

    DataRow meuDTR = meuDts .Tables[0].NewRow();
    meuDTR ["id"] = "10";
    meuDTR ["nome"] = "Meu nome aquí";
    meuDts .Tables[0].Rows.Add(meuDTR );
    meuDts.WriteXml(MapPath("App_Data/meuXml.xml"));

    Pronto, vc Inseriu uma linha no seu dataset e no seu XML;
    Ps: este código está em c#, se precisar, converta em vb.net;
    Lembre-se que o dataset deve ter uma estrutura igual a do xml.
    quarta-feira, 8 de novembro de 2006 13:59
  • Glauber, obrigado pela ajuda.

    Fiz da forma que vc mostrou acima e funcionou legal. Exceto quando tentei aplicar isso no SiteMap. Fiz assim:

    Dim meuDTR As Data.DataRow = meudts.Tables(0).NewRow
    meuDTR(
    "url") = Me.link.Text
    meuDTR(
    "title") = Me.texto.Text
    meuDTR(
    "description") = Me.descricao.Text
    meudts.Tables(0).Rows.Add(meuDTR)
    meudts.WriteXml(MapPath(
    "Web.sitemap"))

    Ele inclui a linha, mas.... inclui assim:

    <?xml version="1.0" standalone="yes"?>
    <
    siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
       <
    siteMapNode url="" title="Menu" description="Menu">
       <
    siteMapNode url="default.aspx" title="Principal" description="" />
       <
    siteMapNode url="galeria.aspx" title="Galeria" description="Galeria de Imagens" />
    </
    siteMapNode>
    <
    siteMapNode url="artistas.aspx" title="Artistas" description="Artistas na Ophicina" />
    </
    siteMap>

    Ai dá erro... como fica nesse caso???

    ...

    quinta-feira, 9 de novembro de 2006 13:06
  • Juninho;
    Não tenho certeza, mas acho quie vc deveria salvar esse arquivo como extensão xml e não com sitemap.
    quinta-feira, 9 de novembro de 2006 19:27
  • E aí Juninho.
    Podia pelo menos ter marcado como útil o código entregue de mão beijada;

    sexta-feira, 10 de novembro de 2006 19:06
  • Gláuber.... bom dia.

    Desculpe amigo, mas eu tinha marcado como útil..... é que após você responder minha dúvida surgiu a outra ai eu reabri o post, quando fiz isso ele desmarca a opção.

    Só queria te dizer que eu sempre marco como útil os topicos que o são... se você quiser pode ver meu histórico. O caso é que a minha dúvida sobre o componente SiteMap, ainda não foi solucionada, se eu marcar o tópico como útil ele é encerrado.

    Mas ao final do tópico quando minha dúvida for solucionada, estarei marcando todas as respostas como uteis.

    Abraço.

    segunda-feira, 13 de novembro de 2006 10:14
  • Gláuber... bom dia.

    Vlw pela ajuda que vc me deu até agora... Eu postei essa nova dúvida em um novo tópico.

    Abraço!!!

    sexta-feira, 17 de novembro de 2006 12:31