Ir para conteúdo

POWERED BY:

Arquivado

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

BrunoHP

ASP + Xml

Recommended Posts

Fala galera do F.I.

 

Não estou conseguindo ler XML em arquivo .asp

 

Segue abaixo um exemplo de como estou fazendo para dpois chamar os registros pelo BD.

 

Abraços!

 

<%
response.Write("<?xml version=""1.0""?>")
response.Write("<rss version=""2.0"">")
response.Write("<channel>")


response.Write("<title>Titulo</title>")
response.Write("<link>http://www.soubrasileiro.com.br</link>")
response.Write("<description>Descrição do seu site</description>")
response.Write("<language>pt-br</language>")
response.Write("<copyright>Script Brasil</copyright>")
response.Write("<image>")
response.Write("<title>Titulo</title>")
response.Write("<url>http://www.xxxxx.com.br/img/img.png</url>")
response.Write("<link>http://www.xxxxx.com.br/</link>")
response.Write("</image>")

response.Write("<item>")
response.Write("<title>Organize seu guarda roupa e recicle energias para 2010</title>")
response.Write("<link>http://www.xxxxx.com.br/xxxxx.asp?id=1</link>")
response.Write("<description>")
response.Write("Seu arm&aacute;rio anda abarrotado e, apesar disso, voc&ecirc; tem sempre a impress&atilde;o de que n&atilde;o h&aacute; nada adequado &agrave; ocasi&atilde;o para vestir? Com a chegada do Natal e do fim de ano.</description>")
response.Write("</item>")

response.Write("<item>")
response.Write("<title>Noticia mais antiga, mais embaixo</title>")
response.Write("<link>http://seusite.com.etc/noticias/maisvelha</link>")
response.Write("<description>Essa eh a mais velha. Bla, bla, bla.</description>")
response.Write("</item>")


response.Write("</channel>")
response.Write("</rss>")
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

 

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

retrolink: Não deu certo :(

 

xanburzum: Segui o seu exemplo mais tbem ñ consegui

 

Link: http://www.soubrasileiro.com.br/feed.asp

Link2: http://www.soubrasileiro.com.br/feed.xml

 

Abraços

 

Ex. XML

 

<?xml version="1.0"?>
<rss version="2.0">
<channel>


<title>Portal Sou Brasileiro</title>
<link>http://www.soubrasileiro.com.br</link>
<description>Descrição do seu site</description>
<language>pt-br</language>
<copyright>Script Brasil</copyright>
<image>
<title>Portal Sou Brasileiro</title>
<url>http://www.soubrasileiro.com.br/img/logo_soubr-padrao.png</url>
<link>http://www.soubrasileiro.com.br/</link>
</image>

<item>
<title>Noticia mais antiga, mais embaixo</title>
<link>http://seusite.com.etc/noticias/maisvelha</link>
<description>Essa eh a mais velha. Bla, bla, bla.</description>
</item>


</channel>
</rss>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual erro ele apresenta...

pois na verdade , não tem nada de tão dificil ler o xml

olha este exemplo, muito bom

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma no lab. de script, tem exemplos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Massa consegui esta funfando!

 

Corrigi inserindo o código CDATE.

 

Outra coisa na minha tabela está como longtext só que aparece +/- uns 60 caracteres qual seria o limite?

 

Vlws!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sei que não quis dizer limite no RSS!

 

Fiz o seguinte estou pegando conteúdos de uma TB e enviando para outra até ai tudo bem... só que no RSS não esta aparecendo todo o conteúdo!

 

Eu tinha até colocado left(....,500) e nda com longtext não tendo o porquá!

 

Vlws!

 

Postando apenas um pedaço do código:

 

set insertRSS = server.CreateObject("adodb.recordset")
sql_insertRSS = "insert into tabela (idConteudo,categoria,fonte,datahora,titulo,texto) values ('"&RSS("id")&"','entretenimento','"&RSS("url1")&"','"&BRdata_hora&"','"&RSS("titulo1")&"','"&RSS("texto1")&"')"
set insertRSS = conn.Execute(sql_insertRSS)

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar uma função para limitar o tamanho e quando clicar ele mostrar o artigo inteiro, não sei se isso isso que entendi !??!?

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.