xml parsen

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

  • xml parsen

    hi!

    könnte mir mal jemand helfen? habe folgendes problem:

    ich musste meinen code in folgende form bringen:

    <?php

    class pars {

    var $status;


    function startElement($parser, $element_name, $element_attribute)
    {
    //$element_name = strtolower($element_name);
    echo "des ";
    if ($element_name=="status") {
    $this->status .= "Status<p>~";
    }
    }

    function endElement($parser, $element_name)
    {
    //$element_name = strtolower($element_name);
    echo "mi on";
    if ($element_name=="status") {
    $this->status .= "</p>";
    }
    }

    function cdata($parser, $element_inhalt)
    {
    echo "geht ";
    $this->status .= $element_inhalt;
    }



    function parsi($file,$directory)
    {

    $xmlFile = file("$directory/$file");
    $parser = xml_parser_create();
    xml_set_element_handler($parser, array(&$this, 'startElement'), array(&$this, 'endElement'));
    xml_set_character_data_handler($parser, array(&$this, 'cdata'));

    foreach($xmlFile as $elem) {
    xml_parse($parser, $elem);
    }

    xml_parser_free($parser);

    $status= strrchr ($status, '~');

    $status= substr($status,1,5);

    return $status;
    }
    }


    class errorJobs {
    var $file;
    var $directory;

    function errorJobis($directory)
    {
    global $stat;


    $handle=opendir($directory);
    $self = $_SERVER['PHP_SELF'];
    $filename = "errorJobs2.php";

    $test=new pars;

    while($file = readdir($handle)) {
    if($file != "." && $file != ".." && $file != "index.php" && $file != "index.php.php") {

    $stat = $test->parsi($file,$directory);
    echo $stat;

    if($stat == "OK") {
    echo "<a target=_self href=$filename?action=view&file=$file/>$file</a><br>";
    }
    }
    }
    }

    }

    $dummi= new errorJobs;
    $dummi->errorJobis("./xml");

    ?>

    und jetzt liefert der parser nichts zurück.

    vielleicht findet ja jemand das problem

    thx im voraus

  • #2
    http://www.php-resource.de/forum/sho...threadid=47906
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      *verschieb*

      Kommentar


      • #4
        xml in php parsen

        hallo!

        ich hab ein problem mit meinem xml-parser:

        PHP-Code:
        <?php

        class pars {

            var 
        $status;


            function 
        startElement($parser$element_name$element_attribute
                {
                
        $element_name strtolower($element_name);
                
                    if (
        $element_name=="status") { 
                        
        $status .= "Status<p>~";
                }
                }

                function 
        endElement($parser$element_name
                {
                    
        $element_name strtolower($element_name);
                
                    if (
        $element_name=="status") {
                
        $status .= "</p>";
                }
                }    

                function 
        cdata($parser$element_inhalt
                {
                    
        $status .= $element_inhalt;            
                }


            
                function 
        parsi($file,$directory
                {    
                    
                
        $xmlFile file("$directory/$file");
                       
        $parser xml_parser_create();
                    
        xml_set_element_handler($parser, array($this'startElement'), array($this'endElement'));
                    
        xml_set_character_data_handler($parser, array($this'cdata'));

                    foreach(
        $xmlFile as $elem) {
                         
        xml_parse($parser$elem);
                    }

                    
        xml_parser_free($parser);

            
                    
        $statusstrrchr ($status'~');
            
                    
        $statussubstr($status,1,5);
                
                    return 
        $status;
                }
        }


        class 
        errorJobs {
            var 
        $file;
            var 
        $directory;

            function 
        errorJobis($directory
            { 
                global 
        $stat;
            

                
        $handle=opendir($directory);
                
        $self $_SERVER['PHP_SELF'];
                
        $filename "errorJobs3.php";

                
        $test=new pars;
          
                while(
        $file readdir($handle)) {
                    if(
        $file != "." && $file != ".." && $file != "index.php" && $file != "index.php.php") { 
                                
                
        $stat $test->parsi($file,$directory);
                echo 
        $stat;

                        if(
        $stat == "OK") {
                            echo 
        "<a target=_self href=$filename?action=view&file=$file/>$file</a><br>";
                        }
                    }
                }
            }

        }

        $dummi= new errorJobs;
        $dummi->errorJobis("./xml");

        ?>
        der code lässt sich fehlerfrei ausführen, jedoch liefert der parser nichts zurück! hat jemand eine ahnung woran es liegen könnte

        thx

        Kommentar


        • #5
          Re: xml in php parsen

          OffTopic:
          @php-guenther: und jetzt, nach dem fragen im anderen thread, auch noch doppelpostings ... *seufz*, *zusammenführ*

          du lernst besser ganz schnell, dich wenigstens ein bisschen zu benehmen, sonst gibt's streß ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            hat jemand eine ahnung woran es liegen könnte
            an dem mangelnden debugging.
            wie wär's wenn du erstmal die stelle herausfinden würdest, wo sich die anwendung nicht adäquat verhält?

            Kommentar


            • #7
              Holla, hier weht ein eisiger Wind.

              Kommentar

              Lädt...
              X