login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Extern aangeboden xml

Offline zero55 - 18/01/2010 09:34
Avatar van zero55Nieuw lid Beste allemaal,
Ik lees zeer regelmatig deze site, maar heb nu zelf eens een vraagje.
Voor de lokale volleybalclub werk ik vrijwillig mee om de website te onderhouden. Nu hebben we zo'n 9 ploegen waarvan elk weekend de uitslagen en kalenders manueel bijgewerkt worden, ik hoef niet te vertellen dat dit een hele klus is. En dit terwijl die data eigenlijk door de volleybalbond beschikbaar wordt gesteld dmv XML (zie hier) Maar de vrijwilligers die meewerken aan de site hebben weinig/geen ervaring met XML.
Er moet toch een mogelijkheid zijn om de nodige xml-data uit die externe bestanden te kunnen tonen op de website ?
Kan iemand ons hiermee op weg helpen ?
We hebben een webserver draaien onder osx en MAMP. Website wordt beheerd in Joomla. www.uvocuikhoven.be

Alvast bedankt !

3 antwoorden

Gesponsorde links
Offline Richard - 18/01/2010 11:08
Avatar van Richard Crew algemeen Het is allemaal niet zo lastig... Met DOMDocument en DOMXPath heb je al je data zo bij elkaar en is het makkelijk op te slaan in een database of waar dan ook.

Maar helaas is dit wederom een feed van mensen die denken dat XML net CSV is (uitslag_set_1..5, dat slaat *nergens* op)

Om je een beginnetje te geven:

  1. <?php
  2. $dom = new DOMDocument('1.0', 'iso-8859-1');
  3. $dom->load('http://www.volleylimburg.be/Competitie/XML/uitslagen_xml.php?reeks=1H');
  4.  
  5. $x = new DOMXPath($dom);
  6.  
  7. <table summary="Uitslag wedstrijden">
  8. <thead>
  9. <tr>
  10. <th>#</th>
  11. <th>Datum</th>
  12. <th colspan="2">Teams</th>
  13. <th>Locatie</th>
  14. <th>Uitslag</th>
  15. </tr>
  16. </thead>
  17. <tbody>';
  18. foreach($x->query('/kalender/wedstrijd') as $wedstrijd) {
  19. echo '
  20. <tr>
  21. <td>' . $x->evaluate('string(nr)', $wedstrijd) . '</td>
  22. <td>' . $x->evaluate('string(datum)', $wedstrijd) . ' ' . $x->evaluate('string(datum)', $wedstrijd) . '</td>
  23. <td>' . $x->evaluate('string(thuisploeg)', $wedstrijd) . '</td>
  24. <td>' . $x->evaluate('string(bezoekersploeg)', $wedstrijd) . '</td>
  25. <td>' . $x->evaluate('string(sporthal)', $wedstrijd) . '</td>
  26. <td>' . $x->evaluate('string(uitslag)', $wedstrijd) . '</td>
  27. </tr>';
  28. }
  29. </tbody>
  30. </table>';
Offline MiST - 18/01/2010 11:11 (laatste wijziging 18/01/2010 11:12)
Avatar van MiST Lid dit moet zeker mogelijk zijn, als is het XML schema niet bepaald goed... (naar mijn mening)

Waarschijnlijk zal je wel een plugin moeten schrijven voor Joomla, die de XML uitleest en automatisch de database invult (als je beheer via backend wil). Anders moet je een script maken dat de database vult met deze XML data en dat je een cronjob instelt om dit bij te werken.

Andere mogelijkheid is de database te laten vallen voor deze uitslagen en enkel de XML feeds uit te lezen en te tonen, maar dan ben je helemaal afhankelijk van die feed.

Om XML uit te lezen in PHP is er SimpleXML, daar geraak je al een heel eind mee.

EDIT:
Citaat:
Maar helaas is dit wederom een feed van mensen die denken dat XML net CSV is (uitslag_set_1..5, dat slaat *nergens* op)


so true!
Offline heymeemij - 18/01/2010 17:45
Avatar van heymeemij Nieuw lid bekijk ook xsl eens de browsers tonen dan de xml presentabel tonen. kan je de xml gewoon wegschrijven en onmiddelijk tonen..
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.215s