Hallo,
habe in den letzten Tagen erst einmal festgestellt, dass alle bisherigen Anläufe in eine falsche Richtung gingen. Hatte mich vorher noch so intensiv mit beschäftig und fertige Scripte nur den vorhanden Seiten angepasst. Vor zwei Wochen etwa kam dann eine Nachricht von Amazon, dass durch eine Umstellung ab Ende März der alte Server abgeschaltet wird. Dabei geht es nicht nur um eine neue Webadresse, sondern auch alles was vom Script bei der Anfrage mit übergeben wird, hat sich entscheident verändert. Die alten Scripte laufen dann nicht mehr. Nun geht es mir nicht um die 10 Euro im Monat, die da vielleicht über etwas Vergütung kommen, sondern darum, das ich von den Scripten in verschiedenen Websiten immer mal so 10 bis 20 Seiten mit eingebunden habe, was dann den ganzen Aufbau doch stören würde.
Zum Thema, das letztens war ein Script zum parsen mit expat, habe leider nach vielen endlosen versuchen erst mitbekommen, dass man da zwar gut formatieren mit kann, aber dennoch nicht einfach Abschnitte ausblenden kann. Jetzt habe ich ein anderes, irgend etwas mit Dom ist das wohl schon und läuft zumindest unter PHP4. Soweit bin ich jetzt, wenn auch noch lange nicht fertig.
|
PHP Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<?php
$doc = domxml_open_file("die-Testseite.xml");
$Elemente = $doc->get_elements_by_tagname('Item');
foreach ($Elemente as $artikel) {
$titel = $artikel->get_elements_by_tagname('Title');
if (count($titel) > 0) {
$Beginn = $titel[0];
$derTitel = $Beginn->get_content();
} else {
$derTitel = '';
}
$Autoren = $artikel->get_elements_by_tagname('Author');
if (count($Autoren) > 0) {
$Autorinnen = $Autoren[0];
$alleAutoren = $Autorinnen->get_content();
} else {
$alleAutoren = '';
}
$Buchbindung = $artikel->get_elements_by_tagname('Binding');
if (count($Buchbindung) > 0) {
$welcheBindung = $Buchbindung[0];
$dieseBindung = $welcheBindung->get_content();
} else {
$dieseBindung = '';
}
// Ab hier müsste eine Auswahl getroffen werden!
$BildElement = $artikel->get_elements_by_tagname('URL');
if (count($BildElement) > 0) {
$ImageElement = $BildElement[0];
$einBild = $ImageElement->get_content();
} else {
$einBild = '';
}
print($derTitel . '<br />' . $alleAutoren ."\n");
print($dieseBindung . $derPreis."\n");
print "<hr>\n";
print "<img src=\"$einBild\">";
}
?>
|
Es geht mir um die Images, damit die richtigen ausgelesen wird und auch damit die nicht doppelt ausgelesen werden. Habe verschiedene Möglichkeiten probiert, doch ohne Error ging rein garnichts. Die Abschnitte sehen in der XML-Seite etwa wie folgt aus:
|
XML Code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<SmallImage>
<URL>http://www.images.de/images001.jpg</URL>
<Height Units="pixels">75</Height>
<Width Units="pixels">51</Width>
</SmallImage>
<MediumImage>
<URL>http://www.images.de/images002.jpg</URL>
<Height Units="pixels">160</Height>
<Width Units="pixels">101</Width>
</MediumImage>
<LargeImage>
<URL>http://www.images.de/images003.jpg</URL>
<Height Units="pixels">420</Height>
<Width Units="pixels">287</Width>
</LargeImage>
<ImageSets>
<SmallImage>
<URL>http://www.images.de/images001.jpg</URL>
<Height Units="pixels">75</Height>
<Width Units="pixels">51</Width>
</SmallImage>
<MediumImage>
<URL>http://www.images.de/images002.jpg</URL>
<Height Units="pixels">160</Height>
<Width Units="pixels">109</Width>
</MediumImage>
<LargeImage>
<URL>http://www.images.de/images003.jpg</URL>
<Height Units="pixels">420</Height>
<Width Units="pixels">287</Width>
</LargeImage>
</ImageSets>
|
Wenn ich bei get_elements_by_tagname('URL') statt URL gleich MediumImage einfüge, so erfolgt im Quelltext nach den img src ein Zeilenumbruch und Lösungsansätze dazu habe ich keine weiteren gefunden. Mit einer If Anweisung nach dem Schema habe ich es versucht, brachte auch nur Erros.
Gruß Mele