TV Vorschau - XML mit SimpleXML einlesen aber nur bestimmtes Datum ausgeben

JordanMiller

Grünschnabel
Hallo,

ich möchte eine Art TV Vorschau für eine TV Sendung erstellen.
Dazu würde ich eine XML Datei mit den Informationen wie Datum, Zeit, Titel, …. erstellen, welche dann über SimpleXML eingelesen werden soll.

Allerdings sollen immer nur die kommenden 2 Sendungen angezeigt werden, aber wie mache ich das?

Hier eine Bsp. XML Datei
Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>
  <content>
	<date>12-23-2011</date>
	<time>10:00</time>
	<code>EC12</code>
	<titel>Der ware Titel</titel>
	<desc>Hier ist die Beschreibung</desc>
  </content>
 <content>
	<date>12-24-2011</date>
	<time>10:00</time>
	<code>EC13</code>
	<titel>Der ware Titel 2</titel>
	<desc>Hier ist die Beschreibung</desc>
  </content>
 <content>
	<date>12-25-2001</date>
	<time>10:00</time>
	<code>EC14</code>
	<titel>Der ware Titel 3</titel>
	<desc>Hier ist die Beschreibung</desc>
  </content>
 
Also mit dem SimpleXML Element von PHP würde ich folgendermaßen an die Sache herangehen:
PHP:
$sxml = new SimpleXMLElement(file_get_content('./xml.xml'));

/**
* Alles!
* Alle Contents werden gesucht / gefunden
*/
$xpath=  $sxml->xpath('//content');

/**
* Alternative 1:
* Alle Dates suchen, die größer als 12-24-2011 sind
*/
$alt_xpath = $sxml->xpath('//content/date[.>"12-24-2011"]');
/**
*Alternative 2:
* Ähnliches, siehe $alt_xpath
*/
$alt2_xpath= $sxml->xpath('//content[time>"10:00"]');

// Ausgeben lassen:
#var_dump($xpath);
print_r($xpath);
/**Ausgabe~so:
Array
(
    [0] => SimpleXMLElement Object
        (
            [date] => 12-23-2011
            [time] => 10:00
            [ code ] => EC12
            [titel] => Der ware Titel
            [desc] => Hier ist die Beschreibung
        )

    [1] => SimpleXMLElement Object
        (
            [date] => 12-24-2011
            [time] => 10:00
            [ code ] => EC13
            [titel] => Der ware Titel 2
            [desc] => Hier ist die Beschreibung
        )

    [2] => SimpleXMLElement Object
        (
            [date] => 12-25-2001
            [time] => 10:00
            [ code ] => EC14
            [titel] => Der ware Titel 3
            [desc] => Hier ist die Beschreibung
        )

)

/**
* Object/Array auslesen und nur die Werte Anzeigen lassen, die auf deinen Wunsch passen!
*/
/*hier dann dein Code*/

PS: Füg' bitte noch ein <root> </root> an den Anfang bzw. das Ende deiner XML, sprich nen Daddy('root') mit vielen kleinen 'content'-Kindern.
Nja vielleicht hilfts ja.
Berichtigt mich bitte wenn sich ein Fehler eingeschlichen hat.

Danke Alex
 
Zuletzt bearbeitet:
Zurück