rdf einlesen funktoniert immer noch net!

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

  • rdf einlesen funktoniert immer noch net!

    hi!

    hab von vorhin von dem kollegen KILLERLOOP den sourcecode kopiert, aber bei mir will er einfach net funktionieren! woran könnt das liegen?
    hier mein gesamter code:
    -------------------------------------------
    <html xmlns:v="urn:schemas-microsoft-com:vml"
    xmlns="urn:schemas-microsoft-comfficeffice"
    xmlns:w="urn:schemas-microsoft-comffice:word"
    xmlns="http://www.w3.org/TR/REC-html40">

    <head>
    <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
    </head>

    <body lang=EN-US style='tab-interval:36.0pt'>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    PHP-Code:
    <?
    $f=fopen("http://www.heise.de/newsticker/heise.rdf","r");
    $blub=fread($f,65535);
    fclose($f);


    $p=xml_parser_create();
    xml_parse_into_struct(&$p,&$blub,&$values,&$index);
    xml_parser_free($p);

    $pointer=0;

    for ($i=0;$i<=sizeof($values);$i++) {
        if ($values[$i][tag]=="TITLE") {
            $linktitle[$pointer]=$values[$i][value];
        }
        if ($values[$i][tag]==LINK){
        $linkurl[$pointer]=$values[$i][value];
        $pointer++;
        }
    }



    for ($i=1;$i<=sizeof($linktitle);$i++){
        echo "<a href=".$linkurl[$i].">".$linktitle[$i]."</a><br>";
    }

    ?>

    </body>

    </html>
    -----------------------------------------------

    bitte um rat!

    lg,
    KITT
    Zuletzt geändert von KITT; 10.08.2005, 08:24.

  • #2
    nutze die php-tags bitte.
    und ohne eine vernünftige problembeschreibung wird dir auch keiner helfen können.

    E_ALL ist dir ein begriff?
    testausgaben kanst du auch mal zeigen.

    Kommentar


    • #3
      EA_ALL kenn ich leider net
      php-tags verwend ich doch!?

      na egal, ich kann noch was posten, was ich gefunden hab:
      ---------------------------------------------------------
      <html xmlns:v="urn:schemas-microsoft-com:vml"
      xmlns="urn:schemas-microsoft-comfficeffice"
      xmlns:w="urn:schemas-microsoft-comffice:word"
      xmlns="http://www.w3.org/TR/REC-html40">

      <head>
      <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
      </head>

      <body lang=EN-US style='tab-interval:36.0pt'>
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
      PHP-Code:
      <?php
      $test 
      file ('http://www.tagesschau.de/newsticker.rdf');
      for (
      $i=0;$test[$i];$i++) {    
      $gesamt .= $test[$i];
      }
      $item explode('<item>',$gesamt);
      eval(
      "\$tagesschau .= \"".$tpl->get("tagesschau_kopf")."\";");
      for (
      $i=1;$item[$i];$i++) {   
      $title explode('<title>',$item[$i]);   
      $link explode('<link>',$item[$i]);     
      $description explode('<description>',$item[$i]);   
      $pos_title strpos($title[1],'</title>');   
      $pos_link strpos($link[1],'</link>');   
      $pos_description strpos($description[1],'</description>');   
      $title substr($title[1],0,$pos_title);   
      $link substr($link[1],0,$pos_link);   
      $description substr($description[1],0,$pos_description);   
      eval(
      "\$tagesschau .= \"".$tpl->get("tagesschau_anzeigen")."\";");
      }
      eval(
      "\$tagesschau .= \"".$tpl->get("tagesschau_fuss")."\";");
      ?>
      </body>

      </html>
      -------------------------------------------------

      ausgabe würd ich ja gern posten, aber er gibt leider nix aus, das ist mein problem (wie schon oben gesagt).
      falls noch was undeutlich ist, sag mir bescheid

      das sind nun beides skripts, die laut anderen leuten funktionieren. aber bei mir net!

      lg,
      KITT
      Zuletzt geändert von KITT; 10.08.2005, 08:24.

      Kommentar


      • #4
        erst lesen:
        http://www.php-resource.de/forum/sho...threadid=50454

        php-tags des forums nutzen.
        dann E_ALL nutzen.

        testausgaben machen und hier zeigen. das bedeutet - alle paar zeilen den inhalt der variablen ausgeben lassen und auswerten - so kann man die stelle herausfinden, an der sich das script unadäquat verhält.

        Kommentar


        • #5
          hI!

          ja die php-tags sind was feines im forum!
          aber das mit EA_ALL versteh ich net?

          und wegen den fehlerstellen usw.
          das sind beides wie gesagt source codes, die laut anderen funktionieren. würde gerne wissen, ob sie bei euch auch gehen?

          ich versuche sie auf meinem lycos-webspace zum laufen zu kriegen. stimmt es, dass alles um xml herum nur auf php5 rennt? vielleicht hat das lycos net oben?´

          lg,
          KITT

          Kommentar


          • #6
            Wenn du das mit dem E_ALL nicht verstehst dann wird es wohl Zeit das du einfach mal bei Google (oder im Manual) suchst und dir aus den Ergebnissen raussuchst was E_ALL bedeutet.

            Desweiteren fehlen immer noch die Testausgaben...


            Floriam


            EDIT:
            SimpleXML läuft erst ab PHP5, aber irgendwelche Funktionen von PHP für XML benutzt du ja nicht...


            EDIT:
            Hast bestimmt auch schon die Einstellungen bei Lycos angeschaut, ob URLs bei file(..) benutzt werden dürfen, oder?
            Zuletzt geändert von Floriam; 10.08.2005, 09:34.
            PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

            Kommentar


            • #7
              hi!

              hab erfahren, dass ich mir in der arbeit XAMPP installieren darf, und nun funktionieren die 0815-skripts! =)))

              thnx!

              nun muss ich aber erst verstehen, was die machen!
              und umschreiben. naja, ist noch kein meister vom himmel gefallen, und wenn dann ist er tot!

              also danke euch!
              für sehr sehr gute DOM-Tutorials wäre ich euch natürlich dankbar!

              lg,
              KITT

              Kommentar


              • #8
                hi leute, bin komplett am verzweifeln, bin vielleicht einfach zu dämlich!
                .
                ..
                ...
                - <li>
                - <bz:bug rdf:about="asdf=1>
                <bz:id ncarseType="Integer">xx</bz:id>
                <bz:bug_severity>ccc</bz:bug_severity>
                <bzriority>vvv</bzriority>
                <bz:rep_platform>bb</bz:rep_platform>
                <bz:assigned_to>nnn</bz:assigned_to>
                <bz:bug_status>mmm</bz:bug_status>
                <bz:resolution />
                <bz:short_short_desc>ddd</bz:short_short_desc>
                </bz:bug>
                </li>
                ...
                ..
                .
                wie kann ich das mit php ín eine schöne tabelle auslesen, wo alle einträge zu einem bz:bug in einer zeile stehen?
                xx ccc vvv bb nnn mmm ddd

                wäre für eine lösung dankbar, per DOM

                da mein code, aber der ist fürn hugo, hab überhaupt keinen plan. xml_parser_create() erzeugt den parser, xml_parse_into_struct(....) fügt die xml in structure und index-arrays. und was dann!?

                [PHP
                <?php
                $xml = "http://...";
                $parser = xml_parser_create();
                xml_parse_into_struct($parser,$xml,&$structure,&$index);
                xml_parser_free($parser);
                $i = 0;
                foreach($structure as $s) {
                echo $s[i];
                /*
                keinen blassen schimmer, leider wäre für jeden tipp dankbar!!!!
                }*/


                }
                ?>[/PHP]

                na ich probier/such mal weiter.

                lg,
                KITT

                Kommentar


                • #9
                  noch ein ansatz:

                  PHP-Code:
                  <?php
                  $dom 
                  = new DOMDocument();
                  $dom->load("http://...ctype=rdf");
                  $lese_Element $dom->getElementsByTagName("bz:bug_severity");
                  echo 
                  $lese_Element;
                  ?>
                  der code gibt mir aus:
                  "Object id #2 "

                  er sollte aber alle bz:bug-severity values ausgeben oder!?

                  lg,
                  KITT

                  Kommentar


                  • #10
                    Anscheind muss du mit dem Objekt weiterarbeiten!

                    Ich habe < 1 Minute gebraucht um festzustellen was die Funktion zurückgibt und wie du es weiterverwenden musst. Also wirst du wohl auch in der Lage zu sein das Manual zu lesen, dass schreiben von Beiträgen dauert länger als 1 Minute...


                    Floriam
                    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

                    Kommentar


                    • #11
                      na gut, hab jetzt die ganzen Funktionen durch, aber das ist ja ein teufelskreis:

                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);

                      $dom = new DOMDocument();
                      $dom->load("http://...rdf")
                      $items $dom->getElementsByTagName("li");


                          
                      $neu_bugzilla_Ueberschriften[0] = "ID";
                          
                      $neu_bugzilla_Ueberschriften[1] = "Schweregrad";
                            
                      $neu_bugzilla_Ueberschriften[2] = "Priorität";
                          
                      $neu_bugzilla_Ueberschriften[3] = "Plattform";
                          
                      $neu_bugzilla_Ueberschriften[4] = "zugeordnet zu";
                          
                      $neu_bugzilla_Ueberschriften[5] = "Status"
                          
                      $neu_bugzilla_Ueberschriften[6] = "Auflösung";
                          
                      $neu_bugzilla_Ueberschriften[7] = "Beschreibung";

                      echo 
                      "<table border=1>";
                      echo 
                      "<tr>";
                      for (
                      $u 0$u<8$u++) {
                                if ((
                      $u == ) or ($u == 3) or ($u == 8)) {
                                  continue;
                               } else {
                                         echo 
                      "<th>";
                             echo 
                      $neu_bugzilla_Ueberschriften[$u]."&nbsp&nbsp&nbsp&nbsp";
                             echo 
                      "</th>";
                               }
                      }
                      echo 
                      "</tr>";

                      for (
                      $i 0$i $items->length$i++) {
                                echo 
                      $unter_items $items->item($i)->childNodes;
                                for (
                      $j=0$j<$unter_items->length$j++) {        
                                 
                      $unter_items->item($j)->nodeValue."<br>";
                                 }
                                  
                      }
                        
                      echo 
                      "</table>";
                      ?>
                      ausgabe :
                      Object id #4Object id #6Object id #3Object id #5Object id #4Object id #6Object id #3Object id #5Object id #4Object id #6
                      ID Schweregrad Priorität zugeordnet zu Status Beschreibung
                      fehlermeldung gibts keine

                      ich raff das net ganz, ist ja ein teufelskreis:
                      bei getELementsByNameTags erhhalte ich eine NodeList als rückgabewert;
                      mit -> item($i) erhalte ich einen DomNode und dann mit -> nodeValue die werte, und weiter "runter" kann ich nicht mehr. wenn ich von DomNode -> children nehm, erhalt ich die nodeList, und die gibt er bei meinem oberen beispiel als Object aus...

                      mit dem echo $items->item($i)->nodeValue."<br>"; funktionierts, dass er alle unter-"values" von <li> ausgibt, aber ich würd die gerne einzeln durchlaufen auch noch. weil ich bräucht vor und nach jedem ein <td> bzw. </td>

                      lg,
                      KITT

                      Kommentar

                      Lädt...
                      X