Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo coelho designer

Não consigo interpretar alguns xmls

Recommended Posts

Pessoal bom dia estou precisando entregar um projeto hoje sem falta, na verdade estou tentando 3 xml do uol e acabei me enroscando, pois eu não conheço muito como faz isso, o exemplo que coloquei está certo e funcionando, mas os xml que vou postar não consigo de jeito nenhum, se alguém souber e puder me auxiliar ficarei muito agradecido, bom vamos lá.

 

Preciso que o modelo do xml fique da mesma forma que o exemplo abaixo.

<%'Inicio internacional
url = "http://www.vitrinepublicitaria.net/mdsim/adm_mdsim/midia/internacional.xml"
Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0")
xml.async = False
xml.SetProperty "ServerHTTPRequest", True
xml.ValidateOnParse = False
xml.PreserveWhiteSpace = False

If Not xml.Load(url) Then
 Response.Write "Nenhuma nticia disponivel no momento."
Else

Set nodeList = xml.getElementsByTagName("item")
'Response.Write("<?xml version=""1.0"" encoding=""iso-8859-1""?>")
'Response.Write("<volumes>")
 For Each objNode In nodeList
   For Each objNode2 In objNode.childNodes
     Select Case objNode2.nodeName
       Case "title" : title = objNode2.firstChild.nodevalue
       Case "linkfoto"  : link  = objNode2.firstChild.nodevalue
       Case "description"  : description  = objNode2.firstChild.nodevalue
     End Select

Next
response.write("<radio arquivo="""&link&""" imgpeq=""logo_uol.png"" link="""" alvo=""principal"" tempo=""10"" titulo="""&title&"""><![CDATA["&description&"]]></radio>")
Next

 Set nodeList = Nothing
End If
Set xml = Nothing
'Fim internacional%>

 

esse está funcionando mas agora é que vem o problema os 3 xmls abaixo está em formato diferente e gostaria de fazer a leitura deles e formatar igual exemplo acima

 

http://economia.uol.com.br/cotacoes/xml/cotacoesmidia.jhtm

http://www2.uol.com.br/tempoagora/previsao-painel.xml

http://webservices.apontador.com.br/uoltransito/resumotransito.aspx

 

Já tentei de tudo e ainda nada pessoal muito obrigado pela atenção, vou tentando por aqui para ver também se consigo achar uma solução, e ficarei no aguardo também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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="&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>&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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

:joia: Boa Tarde Ricardo,

 

Primeiramente pense em como gostaria que ficasse seu arquivo .xml, acompanhe passo a passo abaixo no que eu trabalhei mês passado como exemplo, apenas alterei os dados:

 

1) arquivo.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<DadosPessoais>
 <Informacoes>
 	<Nome>Leandro</Nome>
<SobreNome> de Azevedo</SobreNome>
<Idade>28 anos</Idade>
 </Informacoes>
</DadosPessoais>

 

2)arquivo.xls

 

<?xml version="1.0" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>

 <xsl:template name="dados" match="DadosPessoais/Informacoes">
 <link href="/css/index.css" rel="stylesheet" type="text/css" />
   <html>
 	<body>
<div class="boxdir">
 	  <table border="0" cellpadding="8" cellspacing="0">
  <tr>
	<td><font class="verdana9"><strong><xsl:value-of select="Nome"/></strong></font></td>
  </tr>
  <tr>
	<td><font class="verdana9"><strong><xsl:value-of select="SobreNome"/></strong></font></td>
  </tr>
 	  </table>
</div>
 	</body>
   </html>
 </xsl:template>

</xsl:stylesheet>

3) arquivo.asp

<%
Dim oXml, oXsl

' build and load the XML object
Set oXml = Server.CreateObject( "Microsoft.XMLDOM" )
oXml.async = false
oXml.load( Server.MapPath( "/caminho/arquivo.xml" ) )

' build and load the XSL object
Set oXsl = Server.CreateObject( "Microsoft.XMLDOM" )
oXsl.async = false
oXsl.load( Server.MapPath( "/caminho/arquivo.xsl" ) )

 

Por ultimo execute este arquivo em asp e visualize no browser o processo,

recomendo que você faça uma leitura aqui de xsl http://www.dicas-l.com.br/arquivo/tutorial_xslt.php

 

Este é o melhor jeito de trabalhar com XML e ASP.

 

Espero te-lo ajudado.

 

Abraços.

 

' transform the xml by merging it with the xsl

Response.Write oXml.TransformNode( oXsl )

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Pessoal boa tarde, como veem ainda estou com meu atrasado, tenho que apresentar amanhã na parte da manhã, bom o que acontece é que eu uso aquele codigo para ler através do flash, eu pego vários xmls que são impressos na tela, o que eu faço é duplicar aquele código e altero o xml, então o que precisava mesmo era interpretar com o código que já tenho ler os xmls

http://economia.uol.com.br/cotacoes/xml/cotacoesmidia.jhtm
http://www2.uol.com.br/tempoagora/previsao-painel.xml
http://webservices.apontador.com.br/uoltransito/resumotransito.aspx

 

Bom vou voltar aos testes se tiverem alguma alterantiva me ajudará bastante;

 

:joia: Boa Tarde Ricardo,

 

Primeiramente pense em como gostaria que ficasse seu arquivo .xml, acompanhe passo a passo abaixo no que eu trabalhei mês passado como exemplo, apenas alterei os dados:

 

1) arquivo.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<DadosPessoais>
 <Informacoes>
 	<Nome>Leandro</Nome>
<SobreNome> de Azevedo</SobreNome>
<Idade>28 anos</Idade>
 </Informacoes>
</DadosPessoais>

 

2)arquivo.xls

 

<?xml version="1.0" ?>

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:output method="html" encoding="ISO-8859-1" indent="yes"/>

 <xsl:template name="dados" match="DadosPessoais/Informacoes">
 <link href="/css/index.css" rel="stylesheet" type="text/css" />
   <html>
 	<body>
<div class="boxdir">
 	  <table border="0" cellpadding="8" cellspacing="0">
  <tr>
	<td><font class="verdana9"><strong><xsl:value-of select="Nome"/></strong></font></td>
  </tr>
  <tr>
	<td><font class="verdana9"><strong><xsl:value-of select="SobreNome"/></strong></font></td>
  </tr>
 	  </table>
</div>
 	</body>
   </html>
 </xsl:template>

</xsl:stylesheet>

3) arquivo.asp

<%
Dim oXml, oXsl

' build and load the XML object
Set oXml = Server.CreateObject( "Microsoft.XMLDOM" )
oXml.async = false
oXml.load( Server.MapPath( "/caminho/arquivo.xml" ) )

' build and load the XSL object
Set oXsl = Server.CreateObject( "Microsoft.XMLDOM" )
oXsl.async = false
oXsl.load( Server.MapPath( "/caminho/arquivo.xsl" ) )

 

Por ultimo execute este arquivo em asp e visualize no browser o processo,

recomendo que você faça uma leitura aqui de xsl http://www.dicas-l.com.br/arquivo/tutorial_xslt.php

 

Este é o melhor jeito de trabalhar com XML e ASP.

 

Espero te-lo ajudado.

 

Abraços.

 

' transform the xml by merging it with the xsl

Response.Write oXml.TransformNode( oXsl )

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

 

Arquivo: internet.xml

 

<?xml version="1.0" encoding="ISO-8859-1" ?>
<Internet>
	<Opcoes>
		WEB - E-MAIL - VOZ
			<empresa1>
				<Opcao>Hospedagem de Sites</Opcao>
			</empresa1>
			<empresa2>
				<Opcao>Solucao para E-mails</Opcao>
			</empresa2>
			<empresa3>
				<Opcao>Portal de Voz</Opcao>
			</empresa3>
	</Opcoes>
</Internet>

 

Lendo o xml,no exemplo abaixo, iremos extrair só os elementos filhos que nos interessam.

 

<%
'Instancia o objeto XMLDOM.
Set objXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")

'Indicamos que o download em segundo plano não é permitido
objXMLDoc.async = False

'Carrega o domcumento XML
objXMLDoc.load("e:\home\site\Web\internet.xml")

'O método parseError contém informações sobre o último erro ocorrido
if objXMLDoc.parseError <> 0 then

response.write "Código do erro: " & objXMLDoc.parseError.errorCode & "<br>"
response.write "Posição no arquivo: " & objXMLDoc.parseError.filepos & "<br>"
response.write "Linha: " & objXMLDoc.parseError.line & "<br>"
response.write "Posição na linha: " & objXMLDoc.parseError.linepos & "<br>"
response.write "Descrição: " & objXMLDoc.parseError.reason & "<br>"
response.write "Texto que causa o erro: " & objXMLDoc.parseError.srcText & "<br>"
response.write "Url do arquivo com problemas: " & objXMLDoc.parseError.url

else

'A propriedade documentElement refere-se à raiz do documento
Set raiz = objXMLDoc.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
'A propriedade childNodes contém a lista de
'elementos filhos
Response.write raiz.NodeName & "<br>" & raiz.childNodes.item(i).childNodes.item(0).text & "<br>" &  raiz.childNodes.item(i).childNodes.item(1).text

Next

end if

'Destruindo os objetos
Set objXMLDoc = Nothing
Set raiz = Nothing
%>

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.