login  Naam:   Wachtwoord: 
Registreer je!
 Forum

XML Reader

Offline SvenP - 14/02/2006 10:27
Avatar van SvenPPHP interesse ( http://www.site...amp;id=699 )

Ik ben besig met een project voor mijn stage..
daarbij heb ik een xml reader nodig. (daar draait de hele site ook om) maar met dit script kan ik alleen de gegevens van de items uit de xml lezen volgens mij.. is het mss een handige functie om de gegevens uit de channel te halen? zoals de title, description date language en ttl enz..
zou iemand voor mij een klein script/functie kunnen schrijven met comments zodat ik snap hoe en wat het allemaal werkt...

Bij voorbaat dank, Sven Petersen.

8 antwoorden

Gesponsorde links
Offline vinTage - 14/02/2006 10:35 (laatste wijziging 14/02/2006 14:16)
Avatar van vinTage Nieuw lid
  1. <?php
  2.  
  3. for($i=0; $i < sizeof($items); $i++) {
  4. echo date("Y-m-d H:i", strtotime($items[$i]['pubDate']))." - ";
  5. echo "<a href=\"".$items[$i]['link']."\" target=\"_blank\">".$items[$i]['title']."</a> ";
  6. echo "door ".htmlentities($items[$i]['author'])."<br />\n";
  7. }
  8. ?>


je kan daar toch alles echoen wat je wilt ?

Op regel 35 en 36 van de class staat wat er ter beschikking word gesteld.

edit: ik zou het niet in die for loop doen, dan krijg je nogal vaak dezelfde inhoud verwacht ik 

Offline SvenP - 14/02/2006 11:28
Avatar van SvenP PHP interesse met die $items haal je alleen de info uit de items... maar ik moet de inhoud hebben uit de channel.... de mandatory tags ofzo..
Offline vinTage - 14/02/2006 14:14 (laatste wijziging 14/02/2006 14:16)
Avatar van vinTage Nieuw lid
  1. <?php
  2.  
  3. $zooi = $rss->output['channel'];
  4.  
  5. for($i=0; $i < sizeof($items); $i++) {
  6. echo date("Y-m-d H:i", strtotime($items[$i]['pubDate']))." - ";
  7. echo "<a href=\"".$items[$i]['link']."\" target=\"_blank\">".$items[$i]['title']."</a> ";
  8. echo "door ".htmlentities($items[$i]['author'])."<br />\n";
  9. }
  10. echo $zooi[0]['title']."br />";
  11. echo $zooi[0]['link']."br />";
  12. echo $zooi[0]['description']."br />";
  13. echo $zooi[0]['language']."br />";
  14. echo $zooi[0]['copyright']."br />";
  15. //etc etc
  16. ?>
Offline SvenP - 14/02/2006 14:24 (laatste wijziging 15/02/2006 10:58)
Avatar van SvenP PHP interesse het werrukt... bedankt.. 

bump?

ik heb nog een probleem....

  1. <?
  2. $query_channel_num = mysql_query("SELECT * FROM `tbl_feeds`");
  3. while($feed = mysql_fetch_object($query_channel_num)){
  4. $query_channel = mysql_query("SELECT * FROM `tbl_feeds` WHERE `id`='" . $feed->id . "'");
  5. $load1 = mysql_fetch_object($query_channel);
  6. $channel_info = $rss->output['channel'];
  7. //echo $channel_info['0']['title'] . " " . $feed->id . "<br>";
  8. $update_feed = "UPDATE `tbl_feeds` SET `title`='" . $channel_info[0]['title'] . "' WHERE `id`='" . $feed->id . "'";
  9. echo $update_feed . "<br>";
  10. //mysql_query($update_feed);
  11. }
  12. ?>


met dit stukje code zou ik de gegevens van de feed moeten updaten.. echter maakt hij van alle rijen(feeds) die ik heb in de db, alles hetzelfde met de gegevens van de laatste rij...
hoe verhelp ik dit?
Offline Thomas - 15/02/2006 11:12 (laatste wijziging 15/02/2006 11:14)
Avatar van Thomas Moderator Uhm... Je kunt de channel-info ook gewoon uitlezen met de methode get_channel_info($channel_nummer). En als bepaalde velden niet uitgelezen worden die je wel zou verwachten, moet je deze misschien toevoegen aan $channel_tags aan het begin van de class.

De bovenstaande informatie heeft je nu op drie verschillende wijzen bereikt:
- als comment bij het script
- als PM (lezen!)
- via een reactie hier

Ik vind het nogal krom dat je doet alsof het script tekort schiet op een voorziening die er gewoon in zit...
Offline SvenP - 15/02/2006 11:16 (laatste wijziging 15/02/2006 11:21)
Avatar van SvenP PHP interesse pm lees ik niet, comment bij script was ik vergeten, dis het enige wat ik lees.. ;)

maar wel bedankt, k zal het even probeeren.. 
edit: het enige wat er gebeurt is dat mijn pagina helemaal wit word..
  1. echo get_channel_info('1');

zo toch?
Offline Thomas - 15/02/2006 11:29
Avatar van Thomas Moderator Neen.

Het is een methode van een class...

  1. require("class.rss20.php"); // include class-file
  2.  
  3. $rss = new rss20(); // maak een rss-object aan
  4.  
  5. $rss->newfile("http://www.een_site.com/een_feed.xml"); // lees een externe feed (zonder caching)
  6.  
  7. $rss->parse(); // parse de XML-file
  8.  
  9. echo "<pre>".print_r($rss->get_channel_info(0), 1)."</pre>";


Of iets dergelijks...
Offline SvenP - 15/02/2006 11:46
Avatar van SvenP PHP interesse het werkt dankje wel 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.592s