Ir para conteúdo

POWERED BY:

Arquivado

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

desisto

[Resolvido] ler xml nesse formato

Recommended Posts

estou usando esta estrutura do xml, mas nao consegui montar o cod que faz a leitura

 

<usuarios>
<ativos>
	<nome nomeM="eu" />
	<nome nomeM="tu" />
</ativos>

<inativos>
	<nome nomeM="eles" />
	<nome nomeM="nos" />
</inativos>
</usuarios>

o xml precisa conter estas informações

 

alguem tem um exemplo que faca essa leitura?

Compartilhar este post


Link para o post
Compartilhar em outros sites

existem exemplos de como ler e recuperar atraves do xmlhttp

Compartilhar este post


Link para o post
Compartilhar em outros sites

mudei a forma do xml, coloquei tudo junto

 

<ativo>s

<inativo>s

 

 

 

 

 

ficou melhor

 

as 5 da manha eu ja estava caonsado e meio zonzo de sono :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

<usuario>

<nome>meu nome</nome>

 <ativo>s</ativo>

</usuario>

<usuario>

<nome>seu nome</nome>

 <ativo>s</ativo>

</usuario>

 

 

 

ai no loop faço um if e ja monto os 2 blocos

 

if ativo="s"...

 

elseif ativo="n"...

Compartilhar este post


Link para o post
Compartilhar em outros sites

xml nao é meu forte, mas todos exemplos que peguei tem essa estrutura

 

acho que ele pega e conta os elementos <usuario> pra poder montar o loop

 

 

 

 

mas ha outros exemplos

 

tipo aquele que dei citei no inicio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desisto, eu consigo em xmlhttp so se tiver apenas uma tag assim

 

<usuario>

<nome>meu nome</nome>

<ativo>s</ativo>

</usuario>

 

se tiver duas assim

 

<usuario>

<nome>meu nome</nome>

<ativo>s</ativo>

</usuario>

<usuario>

<nome>meu nome</nome>

<ativo>s</ativo>

</usuario>

 

ae eu ja me embolo rsrsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas assim divide melhor as informações

 

<usuario>

 

 

  <nome>leandro</nome>

 

  <estado>xx</estado>

 

  <cidade>xx</cidade>

 

  <ativo>s</ativo>

 

</usuario>

 

 

<usuario>

 

 

  <nome>patrique</nome>

 

  <estado>zz</estado>

 

  <cidade>zz</cidade>

 

  <ativo>s</ativo>

 

</usuario>

 

 

 

um bloco para cada informação do usuario

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa apenas ler o seu XML !?!?!

olha este exmplo, vai te ajudar, nele você pode criar e depois ler

 

CRIAR ARQUIVO
<%
' Cria uma instância do controle
Set MsXml = Server.CreateObject("MSXML2.DOMDocument.4.0")
' Caminho onde o arquivo será salvo
str_Arquivo = Server.MapPath("arquivo.xml")

' Verifica se o arquivo existe
If MsXml.Load(str_Arquivo) Then
  Response.Write "O arquivo já existe!"
Else
  ' O método createElement adiciona os elementos
  Set root = MsXml.createElement("ComponentesASP")
  MsXml.appendChild(root)

  ' O método createProcessingInstruction possui 2 argumentos: o TARGET = "xml" e DATA = "version='1.0' encoding='ISO-8859-1'"
  Set inst = MsXml.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
  MsXml.insertBefore inst, root

  ' Adiciona um comentário ao documento XML
  Set com = MsXml.createComment("Documento XML de exemplo")
  MsXml.insertBefore com, root

  Set onode = MsXml.createElement("ManipulaçãoXML")

  ' *****************************************************
  ' * Adiciona um ítem ao documento
  ' *****************************************************
  MsXml.documentElement.appendChild(onode)
  Set inode = MsXml.createElement("item")
  onode.appendChild(inode)

  Set child = MsXml.createElement("nome")
  child.Text = "MSXML - Microsoft"
  inode.appendChild(child)

  Set child = MsXml.createElement("versão")
  child.Text = "2.0 / 2.6 / 3.0 / 4.0"
  inode.appendChild(child)

  Set child = MsXml.createElement("fabricante")
  child.Text = "http://www.microsoft.com/"
  inode.appendChild(child)
  ' *****************************************************

  ' *****************************************************
  ' * Adiciona um ítem ao documento
  ' *****************************************************
  MsXml.documentElement.appendChild(onode)
  Set inode = MsXml.createElement("item")
  onode.appendChild(inode)

  Set child = MsXml.createElement("nome")
  child.Text = "ASP XML Parser - Chilkat Software"
  inode.appendChild(child)

  Set child = MsXml.createElement("versão")
  child.Text = "2.2.1"
  inode.appendChild(child)

  Set child = MsXml.createElement("fabricante")
  child.Text = "http://www.chilkatsoft.com/"
  inode.appendChild(child)
  ' *****************************************************

  ' Salva o arquivo no caminho especificado
  MsXml.save(str_Arquivo)

  ' Tira os objetos da memória
  Set child = Nothing
  Set inode = Nothing
  Set onode = Nothing
  Set com   = Nothing
  Set inst  = Nothing
  Set root  = Nothing

  Response.Write "Arquivo XML criado com sucesso!"
End If

' Tira o objeto da memória
Set MsXml = Nothing

%>







LER ARQUIVO
<%
' Cria uma instância do controle
Set MsXml = Server.CreateObject("MSXML2.DOMDocument.4.0")
' Indicamos que o download em segundo plano não é permitido
MsXml.async = False
' Carrega o documento XML
MsXml.load( Server.MapPath("arquivo.xml") )

' O método parseError contém informações sobre o último erro ocorrido
If MsXml.parseError <> 0 Then
  Response.Write "Código do erro: "& MsXml.parseError.ErrorCode &"<br />"
  Response.Write "Posição no arquivo: "& MsXml.parseError.FilePos &"<br />"
  Response.Write "Linha: "& MsXml.parseError.Line &"<br />"
  Response.Write "Posição na linha: "& MsXml.parseError.LinePos &"<br />"
  Response.Write "Descrição: "& MsXml.parseError.Reason &"<br />"
  Response.Write "Texto que causa o erro: "& MsXml.parseError.srcText &"<br />"
  Response.Write "Arquivo com problemas: " & MsXml.parseError.URL
Else
  ' A propriedade documentElement refere-se à raiz do documento
  Set raiz = MsXml.documentElement

  'Looping para percorrer todos os elementos filhos
  For i = 0 To raiz.childNodes.length -1
    ' A propriedade NodeName contém o nome do elemento e a propriedade childNodes contém a lista de elementos filhos
    Response.Write raiz.NodeName & "<br />"
    Response.Write raiz.childNodes.item(i).childNodes.item(0).text & "<br />"
    Response.Write raiz.childNodes.item(i).childNodes.item(1).text & "<br />"
  Next 
End If

' Tira o objeto da memória
Set MsXml = Nothing

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o bom do xml é que você tem mais flexibilidade de uso

 

eu ja escrevo o xml sem problema e leio tb

 

 

 

 

eu dei 'tilt', como disse, as 5 da manha ja nem pensava mais hehehehehe

 

ai inventei uma estrutura completamente desnecessaria

 

eu teria informações duplicadas atoa e isso nao é bom

 

 

 

 

precisava monatr um loop com 2 informações - ativos S e N

 

e criei 2 blocos, sendo que podia ter criado 1 bloco apenas como citei acima

 

 

 

 

o meu problema ja foi resolvido

 

acho que o patrique que se embolou comigo hehehehe

 

 

 

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabens, desisto

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.