probs mit dom unter php5-win

Alles, was PHP betrifft, kann hier besprochen werden.

probs mit dom unter php5-win

Postby micro » 31. July 2004 01:17

hi leutz,

ich hab bis jetzt immer wenn es um xml-daten auslesen ging mit sax gearbeitet...das klappte immer einwandfrei...
aber ich wollte mich mit php5 jetzt aber mal an dom heranwagen...bin aber gleich beim ersten versuch kläglich gescheitert...

ich komme beim aufführen folgenes scripts in eine art endlosschleife...und ich hab leider keine ahnung wieso...
der code ist so gut wie aus dem buch "php5 - die neuerungen" übernommen...geht aber einfach net...

Code:
Code: Select all
<?php
$xmlstr = '<?xml version="1.0"?>
<musik>
    <cd>
        <titel>Mornig View</titel>
        <band land="USA">Incubus</band>
        <laenge>58:46</laenge>
        <preis>14,96</preis>
    </cd>
    <cd>
        <titel>S.I.E.N.C.E</titel>
        <band land="USA">Incubus</band>
        <laenge>52:23</laenge>
        <preis>9,49</preis>
    </cd>
    <cd>
        <titel>Le chemin</titel>
        <band land="P">Kyo</band>
        <laenge>4:24</laenge>
        <preis>9,69</preis>
    </cd>
</musik>';


$dom = new domDocument();
$dom->preserveWhiteSpace = false;
$dom->loadxml($xmlstr);

$cds = $dom->getElementsByTagName('cd');
foreach($cds as $cds_tmp){
    foreach($cds_tmp->childNodes as $cds_childs) echo $cds_childs->nodeValue.'<br>';
    echo '-----------------<br>';
}

?>


komischer weise geht aber dieses script..:
Code:
Code: Select all
<?php

$xmlstr = '<?xml version="1.0"?>
<musik>
    <cd>
        <titel>Mornig View</titel>
        <band land="USA">Incubus</band>
        <laenge>58:46</laenge>
        <preis>14,96</preis>
    </cd>
    <cd>
        <titel>S.I.E.N.C.E</titel>
        <band land="USA">Incubus</band>
        <laenge>52:23</laenge>
        <preis>9,49</preis>
    </cd>
    <cd>
        <titel>Le chemin</titel>
        <band land="P">Kyo</band>
        <laenge>4:24</laenge>
        <preis>9,69</preis>
    </cd>
</musik>';


$dom = new domDocument();
$dom->preserveWhiteSpace = false;
$dom->loadxml($xmlstr);

$cds = $dom->getElementsByTagName('cd');
foreach($cds as $cds_tmp){
    $tmp = $cds_tmp->childNodes;
    foreach($tmp as $cds_childs) echo $cds_childs->nodeValue.'<br>';
    echo '-----------------<br>';
}

?>


blos wieso geht das...und das andere nich..?
den die einzige änderung ist das die "$cds_tmp->childNodes" in die variable "$tmp" kopiert hab...
sollte es nicht eigentlich keinen unterschied machen ob ich nun auf die variablen des objektes "$cds_tmp" direkt zugreife oder sie in eine neue variable kopieren und dann benutze..?

das komische daran ist auch noch das beide scripts unter linux einwandfrei laufen…

das gleiche gilt für die beispiel-scripts von http://php5.bitflux.org/phpconf2004/slide_74.php ...

ich benutzte den neusten win-apache(16.07.2004) mit php5 von euch…

hat jemand ne idee was das sein könnte..?
micro
 
Posts: 2
Joined: 31. July 2004 00:57

Sehe es als einen Vorteil

Postby guybrush82 » 02. August 2004 11:00

Huhu..

Das ist mir schon oft passiert. Und anfangs habe ich mich ständig drüber geärgert.
Mittlerweile habe ich mich daran gewöhnt, jeden Pupskram in ne extra Zeile zu schreiben.

Und ganz nebenbei hat sich dadurch die lesbarkeit meines Codes um Längen verbessert.

Ergo: "Wenn ich schon die Zitron habe, mach ich eben Linonade draus."
Wie nennt man nen Programmierer auf dem Nordpol? -> ASCIIMO !!!
User avatar
guybrush82
 
Posts: 28
Joined: 02. December 2003 13:46
Location: Erfurt

Postby micro » 02. August 2004 12:43

ja gut...aber darum geht es ja hauptsächlich auch nicht...
es geht darum das einfachste dom-aktionen bei mir in einer endlosschleife enden...aber auf unix/linux einwandfrei laufen...
selbst gut formatierter und fehlerfreier code wie beispielsweise von http://php5.bitflux.org/phpconf2004/slide_74.php oder http://www.virtuelle-maschine.de/php5ne ... ?version=o läuft einfach nich...und da kriege ich es nich mit variablen zwischenspeichern hin...

und meine frage wieso läuft das nich unter windows..?aber unter linux..?
micro
 
Posts: 2
Joined: 31. July 2004 00:57


Return to PHP

Who is online

Users browsing this forum: No registered users and 16 guests