Cadastrar, Listar, Editar e Excluir dados de um XML com ASP – Parte 03

Agência OFF, desenvolvimento de soluções web para as Agências Digitais

Criem um arquivo chamado Editar.asp e nele serão lidas todas as tags que contém no arquivoBanco.xml , mas com a querystring passada pelo arquivo Ler.asp que criamos no artigo anterior. Vamos só alterar uma única tag, um único nó do XML. Lembrando que usei uma tag “nome”: mas vocês poderiam criar uma tag “id” e colocar números seqüenciais ou randômicos, a escolha fica a critério.

Vamos primeiro listar todos os registros, criando os objetos que já utilizamos nos primeiros artigos, nada a mais.

<%@ Language="VBScript" %>
<%
Dim Banco : Banco = Server.MapPath("Banco.xml")
Set XMLDOC = Server.CreateObject("Microsoft.XMLDOM")
Set objLER = Server.CreateObject("Microsoft.XMLDOM")
XMLDOC.Load(Banco)
Set objLER = XMLDOC.getElementsByTagName("*")
%>

Logo abaixo desse script vamos criar o formulário com um “for” fazendo a varredura nas tags para pegar só o valor de tag citado na querystring passada:

<html>
<body>
<a href="Cadastro.asp">CADASTRAR</a> - <a href="Listar.asp">LISTAR</a>
<br><br>
<form action="Editar.asp?nome=<%=Request.QueryString("nome")%>" method="post">
            <input type="hidden" name="CampoUpdate" value="<%=Request.QueryString("nome")%>">
            <%
            For i = 0 To (objLER.length - 1)
            If objLER.Item(i).Text = ""&Request.QueryString("nome")&"" Then
            %>
            <b>Nome: </b><input type="text" name="Nome" value="<% Response.Write(objLER.Item(i).Text) %>"><br>
            <b>E-Mail: </b><input type="text" name="EMail" value="<% Response.Write(objLER.Item(i+1).Text) %>"><br>
            <b>Telefone: </b><input type="text" name="Telefone" value="<% Response.Write(objLER.Item(i+2).Text) %>"><br>
            <%
            End If
            Next
            %>
<input type="submit" value="Editar" name="btEdt">
</form>
</body>
</html>

Reparem a linha onde temos If objLER.Item(i).Text = “”&Request.QueryString(“nome”)&”" Then, é ela que está “selecionando” a tag que quero mostrar.

E por fim a edição:

<%
If Request.Form("btEdt") = "Editar" Then
            Dim Nome, EMail, Telefone, CampoUpdate, i
            Nome             = Request.Form("Nome")
            EMail              = Request.Form("EMail")
            Telefone          = Request.Form("Telefone")

            CampoUpdate = Request.Form("CampoUpdate")
            Set objLER_upDate = XMLDOC.getElementsByTagName("*")
                        For i = 0 To (objLER.length - 1)
                                   If objLER.Item(i).Text = ""&CampoUpdate&"" Then
                                               objLER.Item(i).Text    = Nome
                                               objLER.Item(i+1).Text            = EMail
                                               objLER.Item(i+2).Text            = Telefone
                                   End If
                        Next
                        XMLDOC.Save(Banco)
                        Response.Write("<script>alert('Editado com Sucesso!');location='Listar.asp'</script>")
            Set objLER_upDate = Nothing
End If
Set objLER = Nothing
Set XMLDOC = Nothing
%>

Coloquei a querystring passada em um campo hidden e joguei ele dentro de um “for”, como fiz no formulário, em seguida troquei os valores pelas variáveis em seqüência, Nome, EMail e Telefone, salvei com o método XMLDOC.Save e passei um alert em JavaScript e pronto!!

Façam os testes juntando os três artigos.

Esse tipo de utilização do XML serve para coisas pequenas, por exemplo, um combo de país, cidades de um determinado estado, cores, dentre outros.

Até os próximos artigos!

Agência OFF, desenvolvimento de soluções web para as Agências Digitais


Tags:

4 Respostas para Cadastrar, Listar, Editar e Excluir dados de um XML com ASP – Parte 03

  1. Parabéns Amigo Ted, pelo novo tema, isso só confirma o sinônimo de inovação constante que você é.

    Abraços.

  2. Valeu meu filho, agradeço a vc tbm por isso!!

  3. Oi amigo. infelizmente deu esse erro:

    msxml3.dll error ’80004005′

    The stylesheet does not contain a document element. The stylesheet may be empty, or it may not be a well-formed XML document.

    /Listar.asp, line 13

  4. Flavio – posta a linha 13 para avaliação e se possível joga na internet para ver o erro!

Deixe seu Comentário