Hallo zusammen,
bei dem Versuch mittels XMLReader eine XML Datei von einer externen Quelle zu parsen bin ich bei folgendem Problem gelandet:
Die XML Dateien sind in etwa so aufgebaut, es wird also für das root Element ein Namensraum definiert, zusätzlich noch ein zweiter mit prefix. Jetzt gibt es aber noch später in den Tags Metadata jeweils eine weitere namespace Angabe mittels dem xmlns Attribut, welches ja laut Definition dann für dieses tag und alle sub-tags gilt.:
Und ja, die Angabe in den tags ist wirklich keine URI sondern nur der String "test". Sollte laut http://de.wikipedia.org/wiki/Namensraum_%28XML%29 aber trotzdem ok sein. Hier wirft mir jedoch der XMLReader folgenden Fehler:
Leider finde ich hierzu weder etwas im manual zur Funktion, noch finde ich hier etwas Schlaues im Internet. Was ist der Fehler?
Im Momnet behelfe ich mir damit, dass ich vor dem Parsen der Datei alle diese tags per regex rauslösche, aber das kann ja nicht die optimale Lösung sein. Irgendwelche Ideen, warum hier ein Fehler geworfen wird?
Vielen Dank im Voraus!
Gruß Talwin
bei dem Versuch mittels XMLReader eine XML Datei von einer externen Quelle zu parsen bin ich bei folgendem Problem gelandet:
Die XML Dateien sind in etwa so aufgebaut, es wird also für das root Element ein Namensraum definiert, zusätzlich noch ein zweiter mit prefix. Jetzt gibt es aber noch später in den Tags Metadata jeweils eine weitere namespace Angabe mittels dem xmlns Attribut, welches ja laut Definition dann für dieses tag und alle sub-tags gilt.:
Code:
<?xml version="1.0" encoding="utf-8" ?> <GAEB xmlns="http://www.gaeb.de/GAEB_DA_XML/200407" xmlns:test="test"> <GAEBInfo> <Version>3.1</Version> <VersDate>2009-12</VersDate> <Date>2014-11-01</Date> </GAEBInfo> ... <Metadata xmlns="test"> <ID>12584592</ID> </Metadata> ... </GAEB>
Code:
XMLReader::read(): file:///C:/xampp/htdocs/:2: namespace warning : xmlns: URI test is not absolute
Im Momnet behelfe ich mir damit, dass ich vor dem Parsen der Datei alle diese tags per regex rauslösche, aber das kann ja nicht die optimale Lösung sein. Irgendwelche Ideen, warum hier ein Fehler geworfen wird?
Vielen Dank im Voraus!
Gruß Talwin
Kommentar