Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

filipescoob

xml + asp ????

Recommended Posts

Bom dia galera, estava vagando na net e achei um codigo de cadastro de alunos em xml porem não entendi como ele salva no banco como funciona esta regra de negocio e como o xml pode melhorar meu sistema....

 

 

segue o codigo

 

 

<% @LANGUAGE=VBSCRIPT %><%Option Explicit 'Força a declaração das variaveis Response.Buffer = True 'Força o envio dos dados ao browser somente após o script ter sido totalmente processadoResponse.Expires = 0 'A página não será armazenada em cacheDim XMLDoc, XMLItems, item 'Cria as variaveis: XMLDoc, XMLItems, itemSet XMLItems = VerificaXML() 'Executa rotina para criar o XML caso ainda não exista%><html><head><title>Recursos do XML</title></head><font face=verdana size=1 color=navy><font color=OrangeRed><b>Utilizando os recursos da linguagem XML em ASP</b></font><br>por Fabiano Dias ( fabiano_dias@ig.com.br ) www.superasp.com.br<br><br><b>»</b> Os registros deste exemplo ficam armazenados em um objeto XML<form action=" <% = Request.ServerVariables("SCRIPT_NAME") %> " method="post">  <b>Nome:</b> <input type="text" size=30 name="Form_Nome">  <b>Idade:</b> <input type="text" size=2 name="Form_Idade">  <input type="submit" value=" Incluir "></form><%'Se os campos do formulário estiverem preenchidos, continua inclusãoIf Trim(Request.Form("Form_Nome")) <> "" and Trim(Request.Form("Form_Idade")) <> "" then  IncluirItemXML Trim(Request.Form("Form_Nome")) , Trim(Request.Form("Form_Idade"))Else 'E se os campos não estiverem preenchidos, retorna uma mensagem de erro  Response.Write("Digite o nome e a idade acima para incluir um novo registro...<br>") & VbCrLfEnd IfSession("XMLItems") = XMLItems.XML 'Atribui o objeto XML para uma variável de sessãoMostraDados() 'Executa a rotina para enviar os dados ao browserSet XMLDoc = Nothing 'Libera a variável XMLDoc da memóriaSet XMLItems = Nothing 'Libera a variável XMLItems da memóriaSet Item = Nothing 'Libera a variável Item da memória%><hr size=1 width='100%' align='left'><b>»</b> Você pode utilizar deste recurso XML para desenvolver sistemas de cadastro,<br>salas de bate-papo e carrinhos de compra para implementar numa loja virtual.</font></body></html><%SUB IncluirItemXML( XML_Nome, XML_Idade )  Dim Var_Procura 'Cria a variavel: Var_Procura  Set XMLDoc = XMLItems.ownerDocument  'A função abaixo faz uma busca no objeto XML para verificar se o registro a ser incluido já não existe  Set Var_Procura = XMLItems.selectNodes("Aluno[@Nome=""" & Trim(Request.Form("Form_Nome")) & """]")  If Not Var_Procura.length > 0 Then 'Inclui o novo registro caso ainda não exita	Dim Aluno, Nome, Idade 'Declara as variaveis: Aluno, Nome, Idade	Set Aluno = XMLDoc.createElement("Aluno") 'Cria um novo elemento no obleto XML para o aluno	Set Nome = XMLDoc.createAttribute("Nome") 'Cria um atributo para gravar o nome do aluno	Nome.Text = XML_Nome 'Especifica o nome do aluno para o atributo criado	Aluno.attributes.setNamedItem(Nome) 'Grava o atributo criado dentro do elemento	Set Idade = XMLDoc.createAttribute("Idade") 'Cria um atributo para gravar a idade do aluno	Idade.Text = XML_Idade 'Especifica a idade do aluno para o atributo criado	Aluno.attributes.setNamedItem(Idade) 'Grava o atributo criado dentro do elemento	XMLItems.AppendChild(Aluno) 'Atualiza os dados no objeto XML	Response.Write("O ítem <b>" & XML_Nome & "</b> foi registrado!!!<br>") & VbCrLf	Set Aluno = Nothing 'Libera a variável Aluno da memória	Set Nome = Nothing 'Libera a variável Nome da memória	Set Idade = Nothing 'Libera a variável Idade da memória  Else 'Caso o registro já exista, uma mensagem de erro é enviada ao browser	Response.Write("O ítem <b>" & XML_Nome & "</b> já esta registrado!!!<br>") & VbCrLf  End If  Set Var_Procura = Nothing 'Libera a variável Var_Procura da memóriaEND SUBSUB MostraDados()  'Envia o conteúdo do objeto XML ao browser  Response.Write("<br><b>Lista de Registros</b><br>") & VbCrLf  Response.Write("<hr size=1 width='100%' align='left'>") & VbCrLf  If  XMLDoc.documentElement.hasChildNodes() then 'Verifica se há items no objeto XML	For Each item in XMLItems.childNodes 'Lista todos os items objeto XML no browser	  Response.Write ("Nome: <font color=OrangeRed><b>") & VbCrLf	  Response.Write item.attributes.getNamedItem("Nome").text	  Response.Write ("</b></font><br>") & VbCrLf	  Response.Write ("Idade: <font color=OrangeRed><b>") & VbCrLf	  Response.Write item.attributes.getNamedItem("Idade").text	  Response.Write ("</b></font><br><br>") & VbCrLf	Next  End IfEND SUBFUNCTION VerificaXML()  Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM") 'Cria o objeto XML  If Not IsEmpty(Session("XMLItems")) Then 'Verifica se o objeto XML está vazio	'Atribui os valores da variável de sessão XMLItems ao objeto XML criado	XMLDoc.loadXML CStr(Session("XMLItems"))	Set XMLItems = XMLDoc.documentElement  Else 'Cria o elemento XML caso este não exista	Set XMLItems = XMLDoc.createElement("XMLItems")	Set XMLDoc.documentElement = XMLItems  End If  Set VerificaXML = XMLItems 'Retorna com o conteúdo do XMLEND FUNCTION%>

abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eae brother, beleza?Bom quanto a este código que está aí, realemnte ele não grava nada na base de dados. ele apenas alimenta uma estrutura de dados XML e lê estes dados de um XML.Quanto à sua questão de como o XML pode te ajudar em suas aplicações, basta você dar uma olhada no que propõe a arquitetura XML para você ver.O XML, como eu disse acima, é uma estrutura de dados que fica carregada em um arquivo (extensão xml) ou apenas em uma variável.Quando você precisa ler os dados do XML, você o carrega em um objeto(DOMDocument) e trabalha com ele comose estivesse trabalhando com registros de uma tabela em um banco de dados. Voê pode realizar buscas, apagar registros, alterar, incluir, etc....Eu geralmente utilizo XML em aplicações comerciais de grande porte desenvolvidas em 3 camadas, onde as páginas são a camada de apresentação, tem um componente VB com algumas regras de negócio e acesso à base de dados e, por fim, as procedures que contém as regras de negócio efetivamente.Para se fazer a comunicação entre estas 3 camadas, eu utilizo o XML, onde fica muito mais fácil eu trabalhar com os dados.

Bom dia galera, estava vagando na net e achei um codigo de cadastro de alunos em xml porem não entendi como ele salva no banco como funciona esta regra de negocio e como o xml pode melhorar meu sistema....segue o codigo

<% @LANGUAGE=VBSCRIPT %><%Option Explicit 'Força a declaração das variaveis Response.Buffer = True 'Força o envio dos dados ao browser somente após o script ter sido totalmente processadoResponse.Expires = 0 'A página não será armazenada em cacheDim XMLDoc, XMLItems, item 'Cria as variaveis: XMLDoc, XMLItems, itemSet XMLItems = VerificaXML() 'Executa rotina para criar o XML caso ainda não exista%><html><head><title>Recursos do XML</title></head><font face=verdana size=1 color=navy><font color=OrangeRed><b>Utilizando os recursos da linguagem XML em ASP</b></font><br>por Fabiano Dias ( fabiano_dias@ig.com.br ) www.superasp.com.br<br><br><b>»</b> Os registros deste exemplo ficam armazenados em um objeto XML<form action=" <% = Request.ServerVariables("SCRIPT_NAME") %> " method="post">  <b>Nome:</b> <input type="text" size=30 name="Form_Nome">  <b>Idade:</b> <input type="text" size=2 name="Form_Idade">  <input type="submit" value=" Incluir "></form><%'Se os campos do formulário estiverem preenchidos, continua inclusãoIf Trim(Request.Form("Form_Nome")) <> "" and Trim(Request.Form("Form_Idade")) <> "" then  IncluirItemXML Trim(Request.Form("Form_Nome")) , Trim(Request.Form("Form_Idade"))Else 'E se os campos não estiverem preenchidos, retorna uma mensagem de erro  Response.Write("Digite o nome e a idade acima para incluir um novo registro...<br>") & VbCrLfEnd IfSession("XMLItems") = XMLItems.XML 'Atribui o objeto XML para uma variável de sessãoMostraDados() 'Executa a rotina para enviar os dados ao browserSet XMLDoc = Nothing 'Libera a variável XMLDoc da memóriaSet XMLItems = Nothing 'Libera a variável XMLItems da memóriaSet Item = Nothing 'Libera a variável Item da memória%><hr size=1 width='100%' align='left'><b>»</b> Você pode utilizar deste recurso XML para desenvolver sistemas de cadastro,<br>salas de bate-papo e carrinhos de compra para implementar numa loja virtual.</font></body></html><%SUB IncluirItemXML( XML_Nome, XML_Idade )  Dim Var_Procura 'Cria a variavel: Var_Procura  Set XMLDoc = XMLItems.ownerDocument  'A função abaixo faz uma busca no objeto XML para verificar se o registro a ser incluido já não existe  Set Var_Procura = XMLItems.selectNodes("Aluno[@Nome=""" & Trim(Request.Form("Form_Nome")) & """]")  If Not Var_Procura.length > 0 Then 'Inclui o novo registro caso ainda não exita	Dim Aluno, Nome, Idade 'Declara as variaveis: Aluno, Nome, Idade	Set Aluno = XMLDoc.createElement("Aluno") 'Cria um novo elemento no obleto XML para o aluno	Set Nome = XMLDoc.createAttribute("Nome") 'Cria um atributo para gravar o nome do aluno	Nome.Text = XML_Nome 'Especifica o nome do aluno para o atributo criado	Aluno.attributes.setNamedItem(Nome) 'Grava o atributo criado dentro do elemento	Set Idade = XMLDoc.createAttribute("Idade") 'Cria um atributo para gravar a idade do aluno	Idade.Text = XML_Idade 'Especifica a idade do aluno para o atributo criado	Aluno.attributes.setNamedItem(Idade) 'Grava o atributo criado dentro do elemento	XMLItems.AppendChild(Aluno) 'Atualiza os dados no objeto XML	Response.Write("O ítem <b>" & XML_Nome & "</b> foi registrado!!!<br>") & VbCrLf	Set Aluno = Nothing 'Libera a variável Aluno da memória	Set Nome = Nothing 'Libera a variável Nome da memória	Set Idade = Nothing 'Libera a variável Idade da memória  Else 'Caso o registro já exista, uma mensagem de erro é enviada ao browser	Response.Write("O ítem <b>" & XML_Nome & "</b> já esta registrado!!!<br>") & VbCrLf  End If  Set Var_Procura = Nothing 'Libera a variável Var_Procura da memóriaEND SUBSUB MostraDados()  'Envia o conteúdo do objeto XML ao browser  Response.Write("<br><b>Lista de Registros</b><br>") & VbCrLf  Response.Write("<hr size=1 width='100%' align='left'>") & VbCrLf  If  XMLDoc.documentElement.hasChildNodes() then 'Verifica se há items no objeto XML	For Each item in XMLItems.childNodes 'Lista todos os items objeto XML no browser	  Response.Write ("Nome: <font color=OrangeRed><b>") & VbCrLf	  Response.Write item.attributes.getNamedItem("Nome").text	  Response.Write ("</b></font><br>") & VbCrLf	  Response.Write ("Idade: <font color=OrangeRed><b>") & VbCrLf	  Response.Write item.attributes.getNamedItem("Idade").text	  Response.Write ("</b></font><br><br>") & VbCrLf	Next  End IfEND SUBFUNCTION VerificaXML()  Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM") 'Cria o objeto XML  If Not IsEmpty(Session("XMLItems")) Then 'Verifica se o objeto XML está vazio	'Atribui os valores da variável de sessão XMLItems ao objeto XML criado	XMLDoc.loadXML CStr(Session("XMLItems"))	Set XMLItems = XMLDoc.documentElement  Else 'Cria o elemento XML caso este não exista	Set XMLItems = XMLDoc.createElement("XMLItems")	Set XMLDoc.documentElement = XMLItems  End If  Set VerificaXML = XMLItems 'Retorna com o conteúdo do XMLEND FUNCTION%>
abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.