wie parse ich den tag <dc:date> ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wie parse ich den tag <dc:date> ?

    hi leute
    ich hab hier ne site auf der ich ein RSS feed parse. alles klappt wunderbar. nun wollte ich noch einen anderen rss feed parsen, bei diesem feed ist jedoch das datum in diesem tag eingeschlossen
    <dc:date>
    anstelle von
    <pubdate>

    kann mir jemand helfen, wie ich diesen tag auslesen kann? irgendwie scheine ich das nicht ganz zu schaffen. hier ist noch mein code:

    PHP-Code:
        $m 1;
        
    $newz = array();

        class 
    draque
        
    {
            
    // globale Variablen anlegen
            
    var $insideitem false;
            var 
    $tag "";
            var 
    $title "";
            var 
    $description "";
            var 
    $link "";
            var 
    $pubdate "";

            function 
    startElement($parser$tagName$attrs)
            {
                
    // Schauen, obman sich im ITEM tag befindet
                
    if ($this->insideitem)
                {
                    
    $this->tag $tagName;
                }
                    elseif (
    $tagName == "ITEM")
                {
                    
    $this->insideitem true;
                }
            }

            function 
    endElement($parser$tagName)
            {
                if(
    $tagName == "ITEM")
                {
                    global 
    $newz;
                    global 
    $m;

                    
    array_push$newz$m,$this->pubdate$this->link$this->title );

                    
    $this->title "";
                    
    $this->description "";
                    
    $this->link "";
                    
    $this->insideitem false;
                    
    $this->pubdate "";
                    
    $m++;
                }
            }

            function 
    characterData($parser$data)
            {
                if (
    $this->insideitem)
                {
                    switch (
    $this->tag)
                    {
                        case 
    "PUBDATE":
                        
    $this->pubdate .= $data;
                        break;

                        case 
    "TITLE":
                        
    $this->title .= $data;
                        break;

                        case 
    "DESCRIPTION":
                        
    $this->description .= $data;
                        break;

                        case 
    "LINK":
                        
    $this->link .= $data;
                        break;
                    }
                }
            }
        }

        
    $xml_parser xml_parser_create();
        
    $rss_parser = new draque();
        
    xml_set_object($xml_parser,&$rss_parser);
        
    xml_set_element_handler($xml_parser"startElement""endElement");
        
    xml_set_character_data_handler($xml_parser"characterData");
        
    $fp fopen("http://games.slashdot.org/games.rss","r")
            or die(
    "Error reading RSS data.");
        while (
    $data fread($fp4096))
            
    xml_parse($xml_parser$datafeof($fp))
                or die(
    sprintf("XML error: %s at line %d",
                    
    xml_error_string(xml_get_error_code($xml_parser)),
                    
    xml_get_current_line_number($xml_parser)));
        
    fclose($fp);
        
    xml_parser_free($xml_parser);

        
    // Hier wird das array in 4er aufgeteilt, damit man es brauchbar auslesen kann
        
    $cnt count$newz );
        
    $wo 0;
        for( 
    $i=0$i $cnt$i++)
        {
            switch(
    $wo)
            {
                case 
    0$counter=$newz[$i]; break;
                case 
    1$datum=$newz[$i]; break;
                case 
    2$link=$newz[$i]; break;
                case 
    3$descr=$newz[$i]; break;
            }
            
    $wo++;
            if( 
    $wo //Wenn $wo 4 ist sind alle Daten des aktuellen Datensatzes gesetzt
            
    {
                
    $pieces explode" - "$descr );

                
    // Datum wird umformatiert
                
    $splitdate explode (" "$datum);
                
    $newdate $splitdate[1] . ".&nbsp;" $splitdate[2] . ".&nbsp;" $splitdate[3] . ": ";

                if( 
    $counter )
                {
                  if( 
    strlen$descr ) > 45 )
            {
              
    $dots "...";
            } else {
              
    $dots "";
            }
            
    $cutted substrhtmlspecialcharsstripslashes$descr ) ) , 045 );

                  
    printf ("\n▪&nbsp;<a href=\"javascript:void(2);\"
            onclick=\"window.open('%s','myWindow','width=700,height=700,resizable=yes,left=25,top=25,scrollbars=yes');\">%s</a><br>"
    ,

            
    trim($link),$cutted $dots);
                    
    // print "\n▪&nbsp;$newdate<a href=\"$link\">$descr</a><br>";
                
    }

                
    $wo 0;
            }
        }

        unset(
    $i); 
    danke fuer die hilfestellung!!

    dominik
Lädt...
X