Autor |
Nachricht |
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mo 10.09.2007 16:46
Titel XML -> in PHP auslesen mit DOM |
|
|
Hi Leute,
bin neuling in XML und versuche hier gerade was...
Ich hab 2 Probleme.
1. Die Sonderzeichen und Umlaute in XML.
2. Das Script funzt lokal aber auf dem Server nicht (denke da PHP Version 4.4.7).
Soo, ich bin nicht berechtigt auf PHP5 zu upgraden, also muss es mit 4.4.7 gehn.
Sonderzeichen ?
habe:
Code: | <?xml version="1.0" encoding="ISO-8859-1"?>
<info>
<abend>
<text>abc - äöü</text>
</abend>
</info>
|
jedoch funzt das dann nich wenn ichs im php ausgebe.. y ?
habs schon mit encoding UTF-8 probiert, hab utf8_encode($text) in php
gemacht, mir gehen die ideen aus.
nun zum PHP 4
mein script:
Code: |
<?php
$doc = new DOMDocument();
$doc->load( 'info.xml' );
$info = $doc->getElementsByTagName( "abend" );
foreach( $info as $abend )
{
$texts = $abend->getElementsByTagName( "text" );
$text = $texts->item(0)->nodeValue;
echo nl2br($text);
}
?>
|
php5 geht aber 4 nicht,.. dom ist installiert und enabled,.. was ist falsch ?!
thx choise
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Mo 10.09.2007 17:09
Titel
|
|
|
ich parse xml immer mit xslt...
aber ich könnte vermuten, dass php einfach n problem damit hat, dass du
$abend einmal als foreach-variable nimmst, und es ein weiteres mal im xml
steht
vielleicht bringt da ne umbenennung schon was:
Code: | <?php
$doc = new DOMDocument();
$doc->load( 'info.xml' );
$info = $doc->getElementsByTagName( "abend" );
foreach( $info as $value )
{
$texts = $value->getElementsByTagName( "text" );
$text = $texts->item(0)->nodeValue;
echo nl2br($text);
}
?>
|
|
|
|
|
|
Anzeige
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mo 10.09.2007 17:15
Titel
|
|
|
stimmt, das hab ich schlecht geschr.,
aber leider nicht das prob....
Hier mal die Fehlermeldung:
Zitat: | arse error: parse error, unexpected T_OBJECT_OPERATOR in /xxx/x/xxxxx/htdocs/info.php on line 590 |
besagte zeile ist:
Code: | $text = $texts->item(0)->nodeValue; |
edit: wie gesagt, php5 kein prob, aber aufm webserver,...
Zuletzt bearbeitet von choise am Mo 10.09.2007 17:17, insgesamt 2-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
|
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mo 10.09.2007 17:38
Titel
|
|
|
hm oke,.. nur finde ich meinen fehler da nicht.
Ich glaub gleich lass ichs,.. hoffentlich kommt nich bald PHP6..
Dann fängt das wieder von vorne an,.. (dachte eig PHP4 ist jetzt ausgestorben)
ist deine xslt methode php4 rdy ?
und hast vllcht n tut dazu ?
btw, jemand anders ne idee mit den Umlauten ?
Big thx schonmal pixelpapst..
Zuletzt bearbeitet von choise am Mo 10.09.2007 17:38, insgesamt 1-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Mo 10.09.2007 17:43
Titel
|
|
|
choise hat geschrieben: | hm oke,.. nur finde ich meinen fehler da nicht.
|
ganz einfach, du benutzt die DOM API, die erst ab php5 funktioniert:
http://uk2.php.net/manual/en/ref.dom.php
auf deinem server läuft aber 4.x
dafür musste du diese dom benutzen:
http://uk2.php.net/manual/en/ref.domxml.php
xslt:
xslt läuft serverseitig. dafür muss auf deinem server ein xslt-parser installiert sein
(bspw. XalanTransform)
da du sagst, dass du kein php-update fahren kannst, gehe ich davon aus, dass du
irgendwo webspace hast. dass da irgendein xslt-parser läuft ist unwahrscheinlich.
bring erstmal die basis zum laufen (in deinem falle also die andere dom) und
dann schauen ma mal nach den umlauten
|
|
|
|
|
choise
Threadersteller
Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht:
|
Verfasst Mo 10.09.2007 18:05
Titel
|
|
|
mmhkey,.. ich blick jetz so aufn ersten "blick" (wasn wortspiel) gar nichts, aber gut.
Hab jetzt eh feierabend,.. also mach ich mich da morgen früh wieder ran...
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Mo 10.09.2007 21:24
Titel
|
|
|
choise hat geschrieben: | feierabend,.. also mach ich mich da morgen früh wieder ran... |
ehrlich, oft ne sehr probates mittel!!
bin nu auch gespannt, ob es noch paar gute ideen von anderen gibt. könnt mich - in richtung xslt -
auch für ein kommendes projekt interessieren...
so, feierabend - ich mach mich da morgen früh wieder ran.
|
|
|
|
|
|
|
|
Ähnliche Themen |
XML mit PHP auslesen
[PHP] URL auslesen
[PHP/SQL] ID Auslesen aus DB? Wie?
XML in PHP auslesen
Geo Ip Adresse auslesen
textdatein auslesen mit php
|
|