Jo: xml aus Service auslesen

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

  1. 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

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)