Lukas Stadler: Objektnamen mit Minuszeichen

Beitrag lesen

Hi Zusammen

Ich lese mittels

$xmlstr = simplexml_load_file("test.xml");

eine XML-Datei ein und möchte diese weiterverarbeiten.

Nun hab ich in der XML-Datei Objekte, welche einen Bindestrich haben also z.B. <batch-id>. will ich auf diese Zugreiffen, bekomme ich nichts zurück obwohl etwas steht. wenn ich das Objekt auf <batchid> ändere funktioniert es und der Inhalt wird korrekt zurückgegeben.

Folgendes Beispiel:
-------------
<?xml version="1.0" encoding="US-ASCII" ?>
<switch-drs>
  <version>1.0</version>
  <reply>
    <batch-id>400</batch-id>
  </reply>
</switch-drs>

-------------
Mein PHP-Code dazu:

$xmlstr = simplexml_load_file("test.xml");
echo $xmlstr->reply->batch-id; //Batch-ID auslesen

-------------
ist im xml-Code der tag <batch-id> auf <batchid> und im php-Code echo xmlstr->reply->batchid; dann geht es.

Nun hab ich das Problem dass ich das xml-File so bekomme (also die DTD nicht beeinflussen kann)

kann ich den PHP aufruf irgendwie anpassen, damit es mit batch-id geht? oder geht es nur, indem ich den eingelesenen string filtere...

Vielen Dank