xml aus Service auslesen
Jo
- php
Hallo,
ich möchte ein XML-Dokument, welches von einem Service bei einem URL-Aufruf zurückgeworfen mit PHP wird auslesen.
Mit XML-Dateien, die lokal auf dem Server liegen (
$xmlFile = file("meinxmldokument.xml");) funktioniert das auch. Wie kann ich den XML-Stream direkt aus der URL verwenden (z.B http://serviceurl/cgi-bin?xml=meinRequest) ?
Mein Code:
<?php
function startElement($parser, $element_name, $element_attribute) {
global $ausgabe;
//Umwandeln in Kleinbuchstaben
$element_name = strtolower($element_name);
//Überprüfung des Elementnames
if ($element_name=="Layer") {
$ausgabe .= "<h3>Inhalt</h3><p>";
}
}
function endElement($parser, $element_name) {
global $ausgabe;
// in Kleinbuchstaben umwandeln
$element_name = strtolower($element_name);
// Überprüfung des Names eines Elementes
if ($element_name=="layer") {
$ausgabe .= "</br>";
}
}
function cdata($parser, $element_inhalt) {
global $ausgabe;
// Der normale Text wird an $ausgabe angehängt
$ausgabe .= $element_inhalt;
}
$xmlFile = file("meinxmldokument.xml");
$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "cdata");
foreach($xmlFile as $elem)
{
xml_parse($parser, $elem);
}
xml_parser_free($parser);
echo $ausgabe;
?>
Danke
Jo
Ich grüsse den Cosmos,
$xmlFile = file("meinxmldokument.xml");) funktioniert das auch. Wie kann ich den XML-Stream direkt aus der URL verwenden (z.B http://serviceurl/cgi-bin?xml=meinRequest) ?
Indem du anstatt eines Filenamens eine URL angibst. Dazu muss allerdings fopen_wrappers in der php.ini aktiviert sein.
Möge das "Self" mit euch sein