Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Di 29.03.2005 11:23
Titel XML in PHP einlesen (parsen) und Inhalte ausgeben. |
|
|
Hallo Leute,
wer kennt sich gut mit XML aus?
Brauche da paar kleine Hilfen in Sachen Parsen und Auslesen.
Wer helfen kann, bitte bescheid sagen, dann erläutere ich näheres.
Gruß
|
|
|
|
|
Sarky
Dabei seit: 29.06.2002
Ort: Düsseldorf
Alter: 42
Geschlecht:
|
Verfasst Di 29.03.2005 11:24
Titel Re: XML in PHP einlesen (parsen) und Inhalte ausgeben. |
|
|
Kash hat geschrieben: |
Wer helfen kann, bitte bescheid sagen, dann erläutere ich näheres.
|
Beschreib doch einfach mal Dein Problem näher, hier wird sich sicher jemand finden, der Dir helfen kann.
|
|
|
|
|
Anzeige
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Di 29.03.2005 11:31
Titel
|
|
|
ich kann helfen der sarky auch, waschbequen, karmacoder, und noch einige andere hier.
Zuletzt bearbeitet von am Di 29.03.2005 11:32, insgesamt 1-mal bearbeitet
|
|
|
|
|
Eistee
Administrator
Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht:
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Di 29.03.2005 11:43
Titel
|
|
|
also es gibt einen Anbieter von Produkten in einem ASP Dokument das XML Inhalte enthält.
Diese Inhalte möchte ich auf unserer PHP Site ausgeben.
das ist der Link zum XML - Content.
http://www.uk-consult.de/content/contentmanagement/content2xml.asp?num=18661
ich möchte als erstes, die Produktgruppen die angeboten werden anzeigen lassen.
Das sind ja im Grunde links. Die zu den einzelnen Produkten und deren Details verweisen soll.
So und nun zu meinem bisherigen Code
>>
Code: |
<?php
function cdata($parser, $content)
{
global $ausgabe;
$ausgabe .=$content;
}
function StartProduktgruppen($parser, $ID, $Name)
{
global $ausgabe;
switch (strtolower($ID))
{
case "ID":
$ausgabe .="<a href=\"#".$ID["ID"]."\">";
break;
case "Name":
$ausgabe .= "<h1>".$Name["Name"]."</h1>";
break;
default:
$error = "Undefiniertes Element <".$ID.">";
die ($error . " in Zeile " . xml_get_current_line_number($parser));
break;
}
}
function EndProduktgruppen($parser, $ID)
{
global $ausgabe;
switch (strtolower($ID))
{
case "ID":
$ausgabe .="</a>";
}
}
$file = "http://www.uk-consult.de/content/contentmanagement/content2xml.asp?num=18661";
$parser = xml_parser_create();
xml_set_element_handler($parser, "StartProduktgruppen", "EndProduktgruppen");
xml_set_character_data_handler($parser, "cdata");
xml_parse($parser, $file);
/*if (!($fp = fopen($file, "r")))
{
print "Fehler beim Öffnen der XML-Datei";
}
while ($ausgabe = fread($fp, 4096))
{
if (!xml_parse($parser, utf8_decode($ausgabe), feof($fp)))
{
print "Fehler beim Auslesen der XML-Datei";
}
}*/
xml_parser_free($parser);
echo $ausgabe;
?> |
so gibt er mir aber die Fehlermeldung der Switch anweisung aus.
wo liegt das Prob?
Zuletzt bearbeitet von Kash am Di 29.03.2005 12:00, insgesamt 1-mal bearbeitet
|
|
|
|
|
Account gelöscht
Ort: -
Alter: -
|
Verfasst Di 29.03.2005 12:02
Titel
|
|
|
Ein Alternativvorschlag:
Code: | <?php
function cdata($parser, $content)
{
global $ausgabe;
$ausgabe .=$content;
}
function StartProduktgruppen($parser, $ID, $Name)
{
global $ausgabe;
switch (strtolower($ID)) {
case "ID":
$ausgabe .="<a href=\"#".$ID["ID"]."\">";
break;
case "NAME":
$ausgabe .= "<h1>".$Name["Name"]."</h1>";
break;
default:
$error = "Undefiniertes Element <".$ID.">";
die ($error . " in Zeile " . xml_get_current_line_number($parser));
break;
}
}
function EndProduktgruppen($parser, $ID)
{
global $ausgabe;
switch (strtolower($ID)) {
case "ID":
$ausgabe .="</a>";
}
}
$file = "http://www.uk-consult.de/content/contentmanagement/content2xml.asp?num=18661";
$parser = xml_parser_create();
xml_set_element_handler($parser, "StartProduktgruppen", "EndProduktgruppen");
xml_set_character_data_handler($parser, "cdata");
$file = implode('',file($file));
if (!xml_parse($parser, $file)) {
echo xml_error_string(xml_get_error_code($parser));
}
xml_parser_free($parser);
echo $ausgabe;
?> |
xml_parse erhält nur 2 Argumente. Die Kodierung der Ausgabe musst du nachträglich ändern.
Zuletzt bearbeitet von am Di 29.03.2005 12:18, insgesamt 2-mal bearbeitet
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Di 29.03.2005 13:48
Titel
|
|
|
hallo,
so ähnliche Codeschnippsel wie deine Änderungen, habe ich auch schon gesehen.
und
reicht nicht um den ersten wert der XML Datei auszugeben?
gruß
|
|
|
|
|
Kash
Threadersteller
Dabei seit: 07.11.2002
Ort: Schopfheim
Alter: 41
Geschlecht:
|
Verfasst Di 29.03.2005 14:11
Titel
|
|
|
brauche dringend hilfe bei dieser sache,
kann einfach keine Ausgabe erzwingen.
mache irgendeinen entscheiden fehler beim ansprechen der Datensätze.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[solved]Einlesen und ausgeben einer TXT Datei.
XML mit Javascript parsen
xml laden und parsen in *.as
Parsen von datei php
[PHP]Problem bei Parsen vom XML-Daten
PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben!
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|