Jump to content
portugueseGuy

[ERRO] PHP - RSS

Recommended Posts

portugueseGuy

Estou com um problema a ler um ficheiro xml em php. O que estou a fazer de errado?

aqui vai o código de php:

<?php
   echo "teste";
   $xml = Simplexml_load_file("xml/ficheiro.xml");
   foreach ($xml->item as $item) 
   {
         echo utf8_decode($item->title);
   }
?>

E agora o xml:

<rss version="2.0">
  <channel>
    <title>Euronext.com : EURONEXT NEWS</title>
    <link>/news/press_releases/pressReleases-1731-EN.html</link>
    <description>EURONEXT NEWS</description>
    <language></language>
    <docs>http://www.euronext.com/index.jsp</docs>
    <generator>WLP</generator>
    <item>
      <title>Deutsche Börse AG and NYSE Euronext seek approval from the European Commission for planned business combination </title>
      <link>http://www.euronext.com/news/press_release/press_release-1731-EN.html?docid=1011007</link>
      <pubDate>Wed, 29 Jun 2011 10:34:40 CEST</pubDate>
      <description>
        Deutsche Börse AG and NYSE Euronext seek approval from the European Commission for planned business combination </description> 
    </item>
    <item>
      <title>NYSE Euronext Brussels celebrates the listing of Commerzbank Factor Certificates and Reverse Exchangeable Notes</title>
      <link>http://www.euronext.com/news/press_release/press_release-1731-EN.html?docid=1010207</link>
      <pubDate>Mon, 27 Jun 2011 10:49:21 CEST</pubDate>
      <description>
        NYSE Euronext Brussels celebrates the listing of Commerzbank Factor Certificates and Reverse Exchangeable Notes</description> 
    </item>
    <item>
      <title>Trading floor NYSE Euronext Amsterdam full to capacity again in October </title>
      <link>http://www.euronext.com/news/press_release/press_release-1731-EN.html?docid=1010205</link>
      <pubDate>Mon, 27 Jun 2011 09:51:24 CEST</pubDate>
      <description>
        Trading floor NYSE Euronext Amsterdam full to capacity again in October </description> 
    </item>
    <item>
      <title>NYSE Liffe lists equity options on Bekaert </title>
      <link>http://www.euronext.com/news/press_release/press_release-1731-EN.html?docid=1008209</link>
      <pubDate>Tue, 21 Jun 2011 13:57:53 CEST</pubDate>
      <description>
        NYSE Liffe lists equity options on Bekaert </description> 
    </item>
    </channel>
</rss>

Share this post


Link to post
Share on other sites
anolsi

Também convinha dizeres qual é o erro, não?


"Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."
Não respondo a questões por PM que possam ser colocadas no fórum!

Share this post


Link to post
Share on other sites
portugueseGuy

não dá erro, simplesmente nao apresenta o titulo de nenhuma noticia....

Share this post


Link to post
Share on other sites
brunoais

Experimenta executar um var_dump($xml) antes do foreach.

Acho q no foreach aonde tens:

$xml->item

devia estar:

$xml->channel->item


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
portugueseGuy

Experimenta executar um var_dump($xml) antes do foreach.

Acho q no foreach aonde tens:

$xml->item

devia estar:

$xml->channel->item

Era mesmo isso ($xml->channel->item) .

Obrigado!

Share this post


Link to post
Share on other sites
brunoais

Não percebi


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
portugueseGuy

Vou explicar melhor, eu tenho um script que pega no endereço do rss e insere num ficheiro xml.

Só que habitualmente os endereços terminam em ".rss" como este: http://www.euronext.com/rss/IPO-12502-EN.rss.

Como aquele termina em ".aspx" está a dar erro.

coloco aqui o bocado do código que faz isso:

$filename = "http://www.cmvm.pt/CMVM/Novidades/Pages/rss.aspx";
if (!$handle = fopen ($filename, "r"))
{
	print "Erro ao abrir o arquivo ($filename)";
    exit;
}
$conteudo = "";
do
{
	$data = fread($handle, 8192);
   		if (strlen($data) == 0) 
	{
       			break;
   		}
   		$conteudo .= $data;
} 
while(true);
//Ficheiro xml
$filename = "xml/noticias.xml";
$somecontent = $conteudo;
// Verificar se o ficheiro xml permite escrita
if (is_writable($filename)) 
{	// Neste exemplo, nós abrimos $filename em modo de append (acréscimo).
   		// O ponteiro do arquivo estará no final dele desde
   		// que será aqui que $somecontent será escrito com fwrite().
   		if (!$handle = fopen($filename, 'w')) 
   		{
      			print "Erro abrindo arquivo ($filename)";
      			exit;
   		}

   		// Escrevendo $somecontent para o arquivo aberto.
   		if (!fwrite($handle, $somecontent))
   		{
       			print "Erro escrevendo no arquivo ($filename)";
       			exit;
   		}

   		fclose($handle);

} 
else 
{
   		print "The file $filename is not writable";
   		exit;
}

Share this post


Link to post
Share on other sites
brunoais

Tudo bem. E qual é o problema?

Podias simplificar coisas aí usando o file_put_contents().


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
portugueseGuy

No ficheiro Xml em vez de aparecer o conteúdo aparece isto:

<HTML dir="ltr">
<HEAD><meta name="GENERATOR" content="Microsoft SharePoint" /><meta name="progid" content="SharePoint.WebPartPage.Document" /><meta HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8" /><meta HTTP-EQUIV="Expires" content="0" /><meta name="ROBOTS" content="NOHTMLINDEX" /><title>

Error

</title><link rel="stylesheet" type="text/css" href="/_layouts/1033/styles/core.css?rev=5msmprmeONfN6lJ3wtbAlA%3D%3D"/>
<script type="text/javascript" language="javascript" src="/_layouts/1033/init.js?rev=qX%2BG3yl4pldKy9KbPLXf9w%3D%3D"></script>
<script type="text/javascript" language="javascript" src="/_layouts/1033/core.js?rev=CNBZRdV1h3pKuA7LsMXf3w%3D%3D"></script>

<meta name="Robots" content="NOINDEX " />
<meta name="SharePointError" content=""/>
</HEAD>
<BODY scroll="yes" onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();">
  <form name="aspnetForm" method="post" action="../../../_layouts/error.aspx" id="aspnetForm" onsubmit="return _spFormOnSubmitWrapper();">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTU2NjkxODU3M2RkKsPewET+lqDY6c3BJxB507/A0jI=" />

  <TABLE class="ms-main" CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%" HEIGHT="100%">
<tr><td>
   <table CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH="100%">
	<tr>
	 <td colspan=4 class="ms-globalbreadcrumb" align="right">
	    <a href="javascript:TopHelpButtonClick('NavBarHelpHome')" id="ctl00_PlaceHolderGlobalNavigation_TopHelpLink" AccessKey="6" title="Help (new window)"><img src="/_layouts/images/helpicon.gif" align="absmiddle" border="0" alt="Help (new window)" /></a>
	 </td>
	</tr>
   </table>
  </td></tr>
<tr>
 <td class="ms-globalTitleArea">
  <table width=100% cellpadding=0 cellspacing=0 border=0>
   <tr>
	<td id="GlobalTitleAreaImage" class="ms-titleimagearea"><img id="onetidHeadbnnr0" src="/_layouts/images/titlegraphic.gif"  alt="" /></td>
	<td class="ms-sitetitle" width=100%>
	  
	  
	</td>
	<td style="padding-top:8px;" valign=top>
	  
	  
	</td>
   </tr>
  </table>
 </td>
</tr>
<TR>
 <TD id="onetIdTopNavBarContainer" WIDTH=100% class="ms-bannerContainer">


 </TD>
</TR>






<TR height="100%"><TD><TABLE width="100%" height="100%" cellspacing="0" cellpadding="0">
<tr>
 <td class="ms-titlearealeft" id="TitleAreaImageCell" valign="middle" nowrap><div style="height:100%" class="ms-titleareaframe"></div></td>
 <td class="ms-titleareaframe" id="TitleAreaFrameClass">
  
 <table cellpadding=0 height=100% width=100% cellspacing=0>
  <tr><td class="ms-areaseparatorleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=1 alt=""></td></tr>
 </table>
  
 </td>
 <td valign=top  id="onetidPageTitleAreaFrame" class='ms-areaseparator' nowrap width="100%">
  <table id="onetidPageTitleAreaTable" cellpadding=0 cellspacing=0 width=100% border="0">
   <tr>
	<td valign="top" class="ms-titlearea">

	  <a href="http://www.cmvm.pt/CMVM/Novidades" id="ctl00_PlaceHolderTitleBreadcrumb_idSimpleGoBackToHome">Go back to site</a>

	</td>
   </tr>
   <tr>
	<td height=100% valign=top ID=onetidPageTitle class="ms-pagetitle">
	  <h2 class="ms-pagetitle">

Error

	  </h2>
	</td>
   </tr>
  </table>
 </td>
 <td class="ms-titlearearight">


<div class='ms-areaseparatorright'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div>
</td>
</tr>

<TR>
  <TD class="ms-leftareacell" valign=top height=100% id="LeftNavigationAreaCell">
   <table class=ms-nav width=100% height=100% cellpadding=0 cellspacing=0>
	<tr>
	 <td>
	  <TABLE height="100%" class=ms-navframe CELLPADDING=0 CELLSPACING=0 border="0">
	   <tr valign="top">
		<td width="4px"><IMG SRC="/_layouts/images/blank.gif" width=4 height=1 alt=""></td>
		<td valign="top" width="100%">
		  
		  
		  
		  
			 
		  
		  
		</td>
	   </tr>
	   <tr><td colspan=2><IMG SRC="/_layouts/images/blank.gif" width=138 height=1 alt=""></td></tr>
	  </TABLE>
	 </td>
	 <td></td>
	</tr>
   </table>
  </TD>
  <td>
<div class='ms-areaseparatorleft'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div>
</td>
  <td class='ms-formareaframe' valign="top">
	<TABLE width="100%" border="0" cellspacing="0" cellpadding="0" class="ms-propertysheet">
	 <TR valign="top"  >
		<TD class="ms-descriptiontext" width="100%">
		  
		</TD>
		   <TD ID=onetidYPadding width="10px"><IMG SRC="/_layouts/images/blank.gif" width=10 height=1 alt=""></TD>
	  </TR>
	  <TR >
		<TD ID=onetidMainBodyPadding height="8px"><IMG SRC="/_layouts/images/blank.gif" width=1 height=8 alt=""></TD>
	  </TR>
	  <tr>
		 <td valign="top" height="100%">
		   <A name="mainContent"></A>

<table width=100% border=0 class="ms-titleareaframe" cellpadding=0>
<TR>
<TD valign=top width="100%" style="padding-top: 10px" class="ms-descriptiontext">
   <span id="ctl00_PlaceHolderMain_LabelMessage">An unexpected error has occurred.</span>
   <P><span class="ms-descriptiontext">
	<span id="ctl00_PlaceHolderMain_helptopic_troubleshooting"><A Title="Troubleshoot issues with Windows SharePoint Services. - Opens in new window" HREF="javascript:HelpWindowKey('troubleshooting')">Troubleshoot issues with Windows SharePoint Services.</A></span>

	</span>
</TD>
</TR>
</table>
<script type="text/javascript" language="JavaScript">
 var gearPage = document.getElementById('GearPage');
 if(null != gearPage)
 {
	 gearPage.parentNode.removeChild(gearPage);
	 document.title = "Error";
 }
</script>

		 </td>
	  </tr>
	</table>
  </td>
  <td class="ms-rightareacell">
<div class='ms-areaseparatorright'><IMG SRC="/_layouts/images/blank.gif" width=8 height=100% alt=""></div>
</td>
</TR>
<tr>
<td class="ms-pagebottommarginleft"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-bodyareapagemargin"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
<td class="ms-pagebottommarginright"><IMG SRC="/_layouts/images/blank.gif" width=1 height=10 alt=""></td>
</tr>
</TABLE></TD></TR>
  </TABLE>
  
  
   <input type="text" name="__spDummyText1" style="display:none;" size=1/>
   <input type="text" name="__spDummyText2" style="display:none;" size=1/>
  </form>

Share this post


Link to post
Share on other sites
brunoais

verifica o q aparece qd fazes download dessa página para teres no teu site.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
brunoais

verifica, qd executas este código:

http://www.portugal-a-programar.pt/forums/topic/0-find-topic/?do=findComment&comment=402074

o q fica gravado em: $conteudo


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
portugueseGuy

quando faço echo ou print de $conteudo

aparece a seguinte mensagem na página:

Go back to site

Error

An unexpected error has occurred.

Troubleshoot issues with Windows SharePoint Services.

Share this post


Link to post
Share on other sites
brunoais

Se o outro site n funciona, n vale a pensa tentares q funcione no teu programa.

Tenta usar outro sistema de feeds.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
pirata11

O que o seu código está a fazer é ir buscar tags do genero <xml></xml>. Como está a tentar buscar valores a uma página aspx é natural que dificilmente consiga apresentar o resultado. Quando abrir uma página desse genero experimente ver o código-fonte e procurar no <head> alguma referência a um ficheiro XML.

Contudo o brunoais tem razão. Se a própria página não está a funcionar é natural que não vá conseguir aceder aos feeds.

Share this post


Link to post
Share on other sites
portugueseGuy

Sim, talvez seja melhor procurar outra maneira, no entanto o que se referem à página não funcionar? a mim a página abre...

No código fonte da página

http://www.cmvm.pt/CMVM/Comunicados/Comunicados/Pages/RSS%20Comunicados.aspx

aparenta estar tudo bem:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[CMVM - Comunicados]]></title>
<link>http://www.cmvm.pt/NR/exeres/CEEBA66A-B4B2-4983-A387-EE2718938BF0.htm</link>
<description><![CDATA[Comunicados da CMVM]]></description>
<language>pt-pt</language>
<lastBuildDate>Mon, 01 Jan 1900 00:00:00 GMT</lastBuildDate>
<category>Comunicados / Contra-Ordenações/ Deliberações do Conselho Directivo</category>
<managingEditor>dcrp@cmvm.pt</managingEditor>
<webMaster>cmvm@cmvm.pt</webMaster>

<copyright>Copyright</copyright>
<ttl>5</ttl>
<image>
<url>http://www.cmvm.pt</url>
<title><![CDATA[CMVM - Comunicados]]></title>
<link>http://www.cmvm.pt/NR/exeres/CEEBA66A-B4B2-4983-A387-EE2718938BF0.htm</link>
<width></width>
</image>
<item><title><![CDATA[informação ao Mercado sobre Stress Test dos Bancos Europeus]]></title><link>http://www.cmvm.ptPages/InformaçãoaoMercadosobre.aspx</link><description><![CDATA[Na sequência de notícias veiculadas na comunicação social hoje de manhã, a CMVM informa os investidores de que, de acordo com informação obtida  junto do Banco de Portugal, o processo de stress test aos bancos europeus ainda não está concluído. Só após o fim do processo os resultados definitivos serão]]></description><author>CMVM</author><category><![CDATA[Comunicados / Contra-Ordenações/ Deliberações do Conselho Directivo]]></category><pubDate>Mon, 11 Jul 2011 23:00:00 GMT</pubDate></item><item><title><![CDATA[indicadores de Síntese dos Organismos de Investimento Colectivo e dos Fundos Especiais de Investimento - Junho de 2011]]></title><link>http://www.cmvm.ptPages/IndicadoresdeSíntesedosOrganismosdeInvestimentoColectivoedosFundosEspeciaisdeInvestimento-Junhode2011.aspx</link><description><![CDATA[site Oficial da CMVM - Comissão do Mercado de Valores Mobiliários]]></description><author>CMVM</author><category><![CDATA[Comunicados / Contra-Ordenações/ Deliberações do Conselho Directivo]]></category><pubDate>Sun, 10 Jul 2011 23:00:00 GMT</pubDate></item><item><title><![CDATA[Esclarecimento ao Mercado sobre Privatização da EDP - Energias de Portugal, SA]]></title><link>http://www.cmvm.ptPages/EsclarecimentosaoMercadosobrePrivatizaçãodaEDP.aspx</link><description><![CDATA[Tendo surgido nos órgãos de comunicação social várias notícias relativas a possíveis propostas ou manifestações de interesse na aquisição de parte das acções da EDP detidas pelo Estado, a CMVM, tendo presentes as informações prestadas pela Parpública, vem esclarecer o seguinte: 
a) Não foi apresentada]]></description><author>CMVM</author><category><![CDATA[Comunicados / Contra-Ordenações/ Deliberações do Conselho Directivo]]></category><pubDate>Thu, 07 Jul 2011 23:00:00 GMT</pubDate></item><item><title><![CDATA[indicadores de Síntese do Mercado de Capitais Português - Junho de 2011]]></title><link>http://www.cmvm.ptPages/IndicadoresdeSíntesedoMercadodeCapitaisPortuguês-Junhode2011.aspx</link><description><![CDATA[site Oficial da CMVM - Comissão do Mercado de Valores Mobiliários]]></description><author>CMVM</author><category><![CDATA[Comunicados / Contra-Ordenações/ Deliberações do Conselho Directivo]]></category><pubDate>Thu, 30 Jun 2011 23:00:00 GMT</pubDate></item>

</channel>
</rss>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.