login  Naam:   Wachtwoord: 
Registreer je!
 Forum

xml array sorteren

Offline ikki007 - 17/08/2008 12:53 (laatste wijziging 17/08/2008 12:54)
Avatar van ikki007Gouden medailleGouden medaille

PHP ver gevorderde
Hey,

Ik heb een rss feed met de volgende opbouw:

Plaatscode: 16543

Voor het parsen gebruik ik: http://www.site...amp;id=300

Nou gaat dit perfect, alleen het probleem is, de xml feed is heel erg lang en de publish_dates staan helemaal door elkaar.
Hoe kan ik hem zo sorteren dat de nieuwste bovenaan de array komen (de hele inhoud van de <website> clause dan) en de oudste onderaan?

En hoe lees ik deze makkelijk uit, nu doe ik het met foreach loops in een andere foreach loop wat me niet helemaal de goede manier lijkt!

~ikki

4 antwoorden

Gesponsorde links
Offline Stijn - 17/08/2008 13:08
Avatar van Stijn PHP expert
  1. <?php
  2. $xml = new SimpleXMLElement($xml_string);
  3. $count = count($xml->website);
  4.  
  5. for( $i = 0 ; $i < $count ; $i++ ) {
  6.  
  7. $expI = explode("-" , $xml->website[$i]->episode[0]->publish_date);
  8. $publish_time_i = mktime(0,0,0,$expI[1] , $expI[2] , $expI[0]);
  9.  
  10. for( $j = $i+1 ; $j < $count ; $j++ ) {
  11.  
  12. $expJ = explode("-" , $xml->website[$j]->episode[0]->publish_date);
  13. $publish_time_j = mktime(0,0,0,$expJ[1] , $expJ[2] , $expJ[0]);
  14.  
  15. if( $publish_time_i < $publish_time_j ) {
  16. $tmp = $xml->website[$i];
  17. $xml->website[$i] = $xml->website[$j];
  18. $xml->website[$j] = $tmp;
  19. }
  20.  
  21. }
  22.  
  23. }


Heb het niet getest maar zo zou het er ongeveer uit moeten zien. Het is best om simpleXML te gebruiken.
Offline ikki007 - 17/08/2008 13:23 (laatste wijziging 17/08/2008 13:25)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Laat ik nou helemaal niet bekend zijn met simpleXML, kom ik bij het inladen al een probleem tegen  

String could not be parsed as XML

Met een hele zaak vol met warnings en uiteindelijk een fatal error  

Terwijl het wel degelijk een xml document is.
Offline Ontani - 17/08/2008 13:54
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
is het wel een valid xml document?
Offline ikki007 - 17/08/2008 16:02 (laatste wijziging 18/08/2008 00:10)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Doen we het toch anders  
De functie die ik eerst gebruikte maakt er deze array van:

Plaatscode: 16553

De values van de array keys zijn variabel!

Hoe kan ik die array goed uitlezen?
Ik ben er niet zo'n held in  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.179s