auslesen einer xml zeigt leeres array

Jungbluth

Mitglied
hallo,

wenn ich mit simplexml eine datei einlese und verarbeite bekomme ich am ende ein leeres array, keine ahnung warum

xml: http://web42026.pfweb.eu/cloud/public/?datei=Jorina.xml

php:
Code:
<?php

function getXML($url){
    try{
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Accept-Language: de-de, de;"));
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 90 );
        $content = curl_exec ($ch);
        curl_close ($ch);

        $xml = new SimpleXMLElement($content);
    }
    catch(Exception $e){
        echo "exception caught: ".$e->getMessage();
    }
    return $xml;
}
function getArray($char){
    try{
    $xml = getXML($char);

    $data["alias"] = (string) $xml->character->alias;
    $data["name"] = (string) $xml->character->name;
    $data["metatyp"] = (string) $xml->character->metatype;
    $data["sex"] = (string) $xml->character->sex;
    $data["age"] = (string) $xml->character->age;
    $data["eyes"] = (string) $xml->character->eyes;
    $data["height"] = (string) $xml->character->height;
    $data["weight"] = (string) $xml->character->weight;
    $data["skin"] = (string) $xml->character->skin;
    $data["hair"] = (string) $xml->character->hair;
    $data["karma"] = (string) $xml->character->karma;
    $data["totalkarma"] = (string) $xml->character->totalkarma;
    $data["nuyen"] = (string) $xml->character->nuyen;
    $data["streetcred"] = (string) $xml->character->streetcred;
    $data["notoriety"] = (string) $xml->character->notoriety;
    $data["publicawareness"] = (string) $xml->character->publicawareness;
    foreach($xml->character->attributes->attribute as $attribute){
       $data["attribute"][(string) $attribute->name]["value"] = (string) $attribute->totalvalue;
  }
    $data["essenz"] = (string) $xml->character->totaless;

    }
    catch(Exception $e){
        echo "exception caught: ".$e->getMessage();
    }
    return $data;
}

var_dump(getArray("http://localhost/chum/Jorina.xml"));

die ausgabe sieht dann folgendermaßen aus:

array(17) { ["alias"]=> string(0) "" ["name"]=> string(0) "" ["metatyp"]=> string(0) "" ["sex"]=> string(0) "" ["age"]=> string(0) "" ["eyes"]=> string(0) "" ["height"]=> string(0) "" ["weight"]=> string(0) "" ["skin"]=> string(0) "" ["hair"]=> string(0) "" ["karma"]=> string(0) "" ["totalkarma"]=> string(0) "" ["nuyen"]=> string(0) "" ["streetcred"]=> string(0) "" ["notoriety"]=> string(0) "" ["publicawareness"]=> string(0) "" ["essenz"]=> string(0) "" }
 
Zuletzt bearbeitet:
character ist die Root-Node. Die wird direkt vom obersten SimpleXML-Element symbolisiert. Also:

$xml->character->alias; → $xml->alias;

usw.
 

Neue Beiträge

Zurück