Ir para conteúdo

POWERED BY:

Arquivado

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

Ben - Hur

Cadastrar dados Xml através ASP

Recommended Posts

Salve galera!

 

É o seguinte, preciso verificar através do ASP se em um arquivo XML já existe determinado GRUPO, se já existir: inserir somente os subgrupos. A Exemplo:

 

<SITE>
 <GRUPO>

   <REGISTRO ID=1>
     <NOME>AAA</NOME>
     <TELEFONE> 111 </TELEFONE>
   </REGISTRO>

   <REGISTRO ID=2>
     <NOME>BBB</NOME>
     <TELEFONE> 222 </TELEFONE>
   </REGISTRO>

 </GRUPO>
</SITE>

Portanto, ao cadastrar os dados tenhos os seguintes dados a Preencher:

GRUPO

NOME

TELEFONE

 

Porém, se já existir determinado GRUPO, é para ser inserido somente um novo REGISTRO (incluindo nome e telefone) com o ID sequenciado.

 

Vai abaixo o código (autoria Ted'K) que estou utilizando para cadastrar os dados no XML, mas sem esses incrementos.

 

<%@ Language="VBScript" %>
<%
If Request.Form("btCad") = "Cadastrar" Then
Dim Nome, Telefone, Banco, Grupo
Grupo = Request.Form("Grupo")
Nome = Request.Form("Nome")
Telefone = Request.Form("Telefone")
Banco = Server.MapPath("dados.xml")

Set DocMT = Server.CreateObject("Microsoft.XMLDOM") 
DocMT.Load(Banco)
Set RaizXML = DocMT.documentElement
Set CriarReg = DocMT.createElement(""&Grupo&"")
Set CriarSubReg = DocMT.createElement("Registro")



RaizXML.appendChild(CriarReg)
CriarReg.appendChild(CriarSubReg)  

Function AlimentarXML(NomeElemento, NomeVariavel)
Set Campo = DocMT.createElement(""&NomeElemento&"")
Campo.Text = NomeVariavel
CriarSubReg.appendChild(Campo) 
End Function


Call AlimentarXML("Nome", Nome)
Call AlimentarXML("Telefone", Telefone)


DocMT.Save(Banco)
Response.Write("<script>alert('Cadastrado com Sucesso!');location='cad_xml.asp'</script>")
Set DocMT = Nothing
End If
%> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele esta gerando algum erro ???

 

existem exemplos no fórum , que pode te ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não está dando erro nenhum não. O código está correto, porém, não estou conseguindo fazer a estrutura de condição para saber se já existe algum ChildNode com determinado grupo e, a numeração do id sequenciada. Pesquisei no fórum, achei coisas semelhantes mas não supriram minha necessidade. Se puder me indicar algum, agradeço.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente fazer uma comparação com o raiz.childNodes.item(i), atraves de uma array...

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.