phpbar.de logo

Mailinglisten-Archive

[php] SimpleXML und WebDAV Namespace

[php] SimpleXML und WebDAV Namespace

Hendrik Bauer hendrik.bauer at googlemail.com
Sam Jun 30 13:44:31 CEST 2007


Hallo Liste,

Da auf dem Entwicklungssystem meiner Firma die XML Parser
Erweiterungen expat entfernt wurde und auch nach mehrmaligem Drohen
und auf den Knien rutschen keine Chance besteht, dass wir diese Modul
in meiner Firma erneut integrieren, muss ich nun meine WebDAV
Schnittstelle auf SimpleXML ummünzen.

Das stellt sich aber als ziemliches Problem heraus, da im vom WebDAV
Server (mod_dav) geliefertem XML folgendes zu finden ist:

<?xml version="1.0" encoding="utf-8" ?>
  <D:multistatus xmlns:D="DAV:" xmlns:ns0="DAV:">
  <D:response xmlns:lp1="DAV:" xmlns:lp2="http://apache.org/dav/props/">
  <D:href>/webdav/</D:href>
  <D:propstat>
  <D:prop>
  <lp1:creationdate>2007-01-16T10:41:23Z</lp1:creationdate>
  <lp1:getlastmodified>Fri, 29 Jun 2007 11:31:34 GMT</lp1:getlastmodified>
  <lp1:getetag>"f2ca-0-d24d480e"</lp1:getetag>
....

Damit kommt der simple XML-Parser leider überhaupt nicht klar und meldet:

simplexml_load_string() [function.simplexml-load-string]: Entity: line
2: parser warning : xmlns:D: 'DAV:' is not a valid URI
SimpleXMLElement::__construct()
[function.SimpleXMLElement---construct]: <D:multistatus xmlns:D="DAV:"
xmlns:ns0="DAV:">
SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]: ^
SimpleXMLElement::__construct()
[function.SimpleXMLElement---construct]: Entity: line 2: parser
warning : xmlns:ns0: 'DAV:' is not a valid URI

usw...

Das kann man unterdrücken, dann siehts nicht ganz so übel aus. Danach
ist aber nichts im XML Objekt vorhanden, was man durchparsen könnte.
Lösungsideen würden mein Wochenende verlängern :)

Viele Grüße,

Hendrik

php::bar PHP Wiki   -   Listenarchive