Willkommen auf dem Portal für Mediengestalter
Autor
Nachricht
Kash
Moderator Threadersteller
Dabei seit : 07.11.2002
Ort : Schopfheim
Alter : 29
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 : 30
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.
XSchinkenX
Dabei seit : 25.01.2004
Ort : Mars
Alter : -
Geschlecht : -
Verfasst Di 29.03.2005 11:31
Titel
ich kann helfen der sarky auch, waschbequen, karmacoder, und noch einige andere hier.
Zuletzt bearbeitet von XSchinkenX am Di 29.03.2005 11:32, insgesamt 1-mal bearbeitet
Eistee
Administrator
Dabei seit : 31.10.2001
Ort : Grimma
Alter : 33
Geschlecht :
Kash
Moderator Threadersteller
Dabei seit : 07.11.2002
Ort : Schopfheim
Alter : 29
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
XSchinkenX
Dabei seit : 25.01.2004
Ort : Mars
Alter : -
Geschlecht : -
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 XSchinkenX am Di 29.03.2005 12:18, insgesamt 2-mal bearbeitet
Kash
Moderator Threadersteller
Dabei seit : 07.11.2002
Ort : Schopfheim
Alter : 29
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
Moderator Threadersteller
Dabei seit : 07.11.2002
Ort : Schopfheim
Alter : 29
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
[PHP]Problem bei Parsen vom XML-Daten
PHP -> XML Parsen - Pro Zeile jeweils 3 Ausgaben!
Datensatz einbinden, ausgeben (XML oder/und php?)
In PHP: XML File mit XMLReader auslesen -> Excel ausgeben
xml laden und parsen in *.as
XML mit Javascript parsen
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.