sexta-feira, 11 de janeiro de 2008

Script: Que tal Inserir, Visualizar e Deletar linhas de um XML?

æ galera:
segue um exemplo muito simples e fácil de "bricar" com o xml
Vamos começar com a nossa página Default.asp

PÁGINA : Index.asp

<%@ Language="VBScript"%>

<html><body>
<form action="Index.asp?Tedk=Cadastrar" method="post">
<b>Seu nome:</b><input type="text" name="nome"><input type="hidden" name="link" value="&amp;Tedk=Deletar"><br>
<b>Seu e-mail:</b><input type="text" name="email"><br>
<input type="submit" value="Cadastrar">
</form>

<%
'--------------------- Início - CADASTRANDO ---------------------'

If Request.QueryString("Tedk") = "Cadastrar" Then

nome=request.form("nome")
email=request.form("email")
link=request.form("link")

set doc=server.createobject("microsoft.xmldom")
doc.load(server.mappath("cadastro.xml"))

set raiz=doc.documentElement
set registro=doc.createelement("usuario")
raiz.appendchild(registro)
set campo=doc.createelement("nome")

campo.text=nome
registro.appendchild(campo)

set campo=doc.createelement("email")
campo.text=email
registro.appendchild(campo)

set campo=doc.createelement("link")
campo.text=link
registro.appendchild(campo)
doc.save(server.mappath("Cadastro.xml"))

response.write"Cadastro realizado com sucesso!<a href='Index.asp?Tedk=Ver'>Acessar Dados</a>"
'--------------------- Final - CADASTRANDO ---------------------'

'--------------------- Início - VISUALIZANDO ---------------------'
ElseIf Request.QueryString("Tedk") = "Ver" Then
set xsldoc=server.createobject("microsoft.xmldom")
set xmldoc=server.createobject("microsoft.xmldom")

xmldoc.load(server.mappath("cadastro.xml"))
xsldoc.load(server.mappath("Visualizar.xsl"))
response.write(xmldoc.transformnode(xsldoc))
'--------------------- Final - VISUALIZANDO ---------------------'

'--------------------- Início - DELETANDO ---------------------'
ElseIf Request.QueryString("Tedk") = "Deletar" Then
response.buffer="true"
set xmldoc=server.createobject("microsoft.xmldom")
xmldoc.load(server.mappath("cadastro.xml"))

set raiz=xmldoc.documentElement
set registro=raiz.selectsinglenode("usuario[nome='"&request.querystring("nome")&"']")
raiz.removechild(registro)
xmldoc.save(server.mappath("cadastro.xml"))

Response.Write("Deletado com Sucesso")
End If
'--------------------- Final - DELETANDO ---------------------'
%>
</body></html>

PÁGINA : Cadastro.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<cadastro>
<Usuario>
<nome>thiago</nome>
<email>adamisongs@hotmail.com</email>
<link>&amp;Tedk=Deletar</link>
</Usuario>
</cadastro>

PÁGINA : Visualizar.xsl

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<center>
<font color="#000000" size="2" face="MS Sans Serif">Visualizando Dados</font>
<table width="283" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="107"><div align="center"><strong>Nome</strong></div></td>
<td width="176"><div align="center"><strong>Email</strong></div></td>
<td width="176"><div align="center"><strong>Apagar</strong></div></td>
</tr>

<xsl:for-each select="cadastro/usuario">

<tr>
<td><div align="center"><xsl:value-of select="nome"/></div></td>
<td><div align="center"><xsl:value-of select="email"/></div></td>
<td><div align="center"><a><xsl:attribute name="href">Index.asp?nome=<xsl:value-of select="nome"/><xsl:value-of select="link"/></xsl:attribute>Apagar</a></div></td>
</tr>

</xsl:for-each>
</table>
</center>
</xsl:template>
</xsl:stylesheet>

é básio, é fácil mais eu gosto!!!
espero que isso seja adotado como exemplo para que está começando com XML!!!!

Post Original

Nenhum comentário: