php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
xml parsen


 
php-guenther
13-01-2005, 13:21 
 
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

 
Shurakai
13-01-2005, 13:36 
 
http://www.php-resource.de/forum/showthread.php?s=&threadid=47906

 
TobiaZ
13-01-2005, 16:00 
 
*verschieb*

 
php-guenther
18-01-2005, 11:49 
 
hallo!

ich hab ein problem mit meinem xml-parser:

<?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);


$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 = "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

 
wahsaga
18-01-2005, 12:12 
 
@php-guenther: und jetzt, nach dem fragen im anderen thread (http://www.php-resource.de/forum/showthread.php?s=&threadid=41870), auch noch doppelpostings ... *seufz*, *zusammenführ*

du lernst besser ganz schnell, dich wenigstens ein bisschen zu benehmen, sonst gibt's streß ...

 
penizillin
19-01-2005, 22:42 
 
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?

 
WDPX
17-06-2005, 10:29 
 
Holla, hier weht ein eisiger Wind.


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:51 Uhr.