Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Hitno!!! SimpleXMLElement problem sa parsiranje XML-a

[es] :: PHP :: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a

[ Pregleda: 2493 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
95.180.155.*

Sajt: right-sock.net


+1 Profil

icon Hitno!!! SimpleXMLElement problem sa parsiranje XML-a22.02.2010. u 22:04 - pre 171 meseci
Prsiram nekoliko XML fajla:

https://www.brownpapertickets.com/eventfeed/11
https://www.brownpapertickets.com/eventfeed/20
https://www.brownpapertickets.com/eventfeed/21
https://www.brownpapertickets.com/eventfeed/12
.............

Privi pronje OK, ali drugi.... dobijem sledecu gresku

Code:

php parsexml.php > result.txt
PHP Fatal error:  Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/web45/web/bpt/parsexml.php:32
Stack trace:
#0 /var/www/web45/web/bpt/parsexml.php(32): SimpleXMLElement->__construct('<?xml version="...')
#1 /var/www/web45/web/bpt/parsexml.php(17): parseXML('https://www.bro...')
#2 {main}
  thrown in /var/www/web45/web/bpt/parsexml.php on line 32




routing protocols enable routers to route routed protocols!
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
95.180.155.*

Sajt: right-sock.net


+1 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a22.02.2010. u 22:16 - pre 171 meseci
Samo informativno, izbacio sam https://www.brownpapertickets.com/eventfeed/20 i skripta jos radi...

Sta je problem u https://www.brownpapertickets.com/eventfeed/20 ??? Kad na isti nacin se generiraju feedove, tekst je u CDATA.... Nije mi jasno!?!?
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
95.180.155.*

Sajt: right-sock.net


+1 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a22.02.2010. u 23:31 - pre 171 meseci
Ova dva xml-a ne rade!!!

https://www.brownpapertickets.com/eventfeed/17
https://www.brownpapertickets.com/eventfeed/20


Evo sve feedove
$feeds = array (
'https://www.brownpapertickets.com/eventfeed/11'
,'https://www.brownpapertickets.com/eventfeed/21'
,'https://www.brownpapertickets.com/eventfeed/12'
,'https://www.brownpapertickets.com/eventfeed/18'
,'https://www.brownpapertickets.com/eventfeed/19'
,'https://www.brownpapertickets.com/eventfeed/9'
,'https://www.brownpapertickets.com/eventfeed/14'
,'https://www.brownpapertickets.com/eventfeed/13'
,'https://www.brownpapertickets.com/eventfeed/15'
,'https://www.brownpapertickets.com/eventfeed/10'
,'https://www.brownpapertickets.com/eventfeed/16'
,'https://www.brownpapertickets.com/eventfeed/20'
,'https://www.brownpapertickets.com/eventfeed/17'
);

Zadnja dva ne rade.... dobijem gresku:

Code:

[user@k bpt]# php parsexml.php > result.txt
PHP Fatal error:  Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/web45/web/bpt/parsexml.php:32
Stack trace:
#0 /var/www/web45/web/bpt/parsexml.php(32): SimpleXMLElement->__construct('<?xml version="...')
#1 /var/www/web45/web/bpt/parsexml.php(17): parseXML('https://www.bro...')
#2 {main}
  thrown in /var/www/web45/web/bpt/parsexml.php on line 32
[root@k bpt]# 


routing protocols enable routers to route routed protocols!
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a23.02.2010. u 00:05 - pre 171 meseci
Jesi li siguran da nije timeout? Probaj da povučeš sa file_get_contents (dodaj opciju za veći timeout ako ne prolazi), pa onda da ubaciš u simplexml.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
95.180.155.*

Sajt: right-sock.net


+1 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a23.02.2010. u 21:13 - pre 171 meseci
Sadrzaj vadim sa curl

Code:

function parseXML($feedUrl) {    
    echo $feedUrl;
    $curl_handle=curl_init();
    curl_setopt($curl_handle,CURLOPT_URL,$feedUrl);
    curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
    curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
    $buffer = curl_exec($curl_handle);
    curl_close($curl_handle);
    
    @$xml = new SimpleXMLElement($buffer);

    unset($buffer);
........... i tako dalje


E sad... stavio sam echo na $buffer, i vidim da nije celi feed.

E sad... neki hint oko: Kako da vidim dali je u pitanju memory limit ili timeout? Server je linux ja sam root.
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-8.sezampro.rs.



+33 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a23.02.2010. u 22:05 - pre 171 meseci
Samo jedna konstatacija, zašto uopšte ideš sa curl, kad konstruktoru SimpleXMLElement možeš da proslediš URL do tog nekog XML fajla:
Code:
$sxe = new SimpleXMLElement('https://www.brownpapertickets.com/eventfeed/17', null, true);

A ako hoćeš pravu stvar, preporučujem ti da probaš Zend_Feed. Ovde baš imaš primer "konzumiranja" jednog RSS feed-a uz pomoć te komponente.
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a23.02.2010. u 23:44 - pre 171 meseci
@Nikola -1, ne čitaš temu. SimpleXML se buni jer ne može da do timeouta dohvati ceo XML. Moguće da SimpleXML može da primi kontekst kao file_get_contents, ali to ne znam.

@sojic -1, ne čitaš odgovor. Problem je što server ima spor odziv, a XML je veliki. Moraš da postaviš timeout. Ako koristiš urlopen omotač moraš da ubaciš kontekst u file_get_contents koji napraviš pomoću stream_context_create(). Ako koristiš cURL onda podesiš CURLOPT_TIMEOUT za tvoj cURL easy handle.

Zend_Feed je verovatno glupost, ovi dovodi uopšte nisu u RSS formatu, a ne izgledaju ni vremenski složeni da se isplati pisanje namenskog Zend_Feed format adaptera.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

sojic
Dalibor Sojic
Makedonija

Član broj: 7051
Poruke: 796
95.180.155.*

Sajt: right-sock.net


+1 Profil

icon Re: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a23.02.2010. u 23:50 - pre 171 meseci
Resen problem.

Prepravio sam generiranje feedove.

Inace...

file_get_contents ne koristim posto curl je mnogo brzi (tako kazu, nisam licno testirao: http://stackoverflow.com/quest...rl-what-has-better-performance)

U svaki slucaj hvala, bilo je korisno.
routing protocols enable routers to route routed protocols!
 
Odgovor na temu

[es] :: PHP :: Hitno!!! SimpleXMLElement problem sa parsiranje XML-a

[ Pregleda: 2493 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.