Mit PHP ein XML Dokument auslesen

Soapp

Erfahrenes Mitglied
Hallo Profis,

ich versuche über PHP an den INhalt eines XML Dokuemtns zu gelangen, um den
dann in eine Datenbank zu speichern.

XML:
<?xml version="1.0" encoding="UTF-8" ?>
- <imo:eek:penimmo xmlns:imo="http://www.openimmo.de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openimmo.de openimmo.xsd">
<imo:uebertragung art="" umfang="" version="" />
- <imo:anbieter>
.............

PHP:
$xml = simplexml_load_file('immo.xml');
var_dump($xml);

Ergebnis:

object(SimpleXMLElement)#1 (0) { }

Was mache ich falsch, bzw, warum liest er mir das Xml Dokument nicht ein ?

Danke
 
Gumbo hat gesagt.:
Hast du schon im PHP-Handbuch nachgeschaut, was die simplexml_load_file()-Funktion überhaupt macht?

ja, ich habe nachgechaut, es saugt sich den Inhalt der XML Datei rein, sodass man
dann drauf zugreifen kann

aber var_dump müsste den Inhalt ausgeben. Habe das mit einer Test-XML Datei probiert.
Dort funktionierts.

Das Problem bei mir sind wohl die ":"

In der Test-XML stand z. Bsp.:
<name>Ms. Coder</name>
<actor>Onlivia Actora</actor>

das hat er ohne Probleme erkannt

In meinem XML steht z. Bsp

<imo:eek:rt>München</imo:eek:rt>
<imo:hausnummer>10</imo:hausnummer>

Wie kann ich diese "komischen" tags auslesen ?

Danke
 
Gumbo hat gesagt.:
Wie aus einem Kommentar zu der Referenzseite der SimpleXML-Funktionen hervorgeht, werden XML-Namensräume (engl. name spaces) nicht unterstützt. Der Autor verweist jedoch auf ein Artikel, in dem das Problem gelöst scheint; vielleicht hilft dieser dir weiter. Sonst könntest du auch mit XPath arbeiten (vgl. SimpleXMLElement->xpath()-Methode ).


aahhhh, sehrrr schön :)
es funktioniert :)
$result = $xml->xpath('/imo:eek:penimmo/imo:anbieter/imo:anbieternr');

Tausend Dank
 
In XPath scheint einiges Potenzial zu stecken – das ist selbst mir erst vor kurzem aufgefallen.
 

Neue Beiträge

Zurück