simplexml_load_file + : in der Knotenbezeichnung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • simplexml_load_file + : in der Knotenbezeichnung

    Hallo zusammen,

    ich lade mit simplexml_load_file eine xml-Datei und verarbeite diese entsprechend.

    Auszug aus der XML:

    PHP-Code:
    <iw:ausstattung>
       <
    iw:kueche BK="true"/>
    </
    iw:ausstattung>
    <
    iw:zustand_angaben>
       <
    iw:baujahr>'91 san. </iw:baujahr>
    </iw:zustand_angaben> 
    Auszug aus PHP (nur beispielhaft):
    PHP-Code:
    $xml simplexml_load_file($key);
    $nodeList $xml->xpath('//iw:xyzabezd');
    foreach (
    $nodeList as $node) {
        
    $node-> iw:zuobjektkategorie -> iw:kueche;

    Das auslesen über iw: ist in dieser Schreibweise nicht möglich.
    Wie kann ich diese Knoten auslesen? Oder wie muss ich das auslesen anpassen?

    Ohne iw: wäre das ganze ja kein Problem.

    Viele Grüße
    Konrado

  • #2
    Re: simplexml_load_file + : in der Knotenbezeichnung

    Schon mit var_dump/print_r die Struktur des Objektes angeschaut?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Das Objekt ist in dem Fall mit iw: leer.

      Kommentar


      • #4
        Ähm ... ich meinte schon dein $xml, und nicht irgendeinen Unterknoten ...
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          :-) genau, das ist ebenfalls leer. Das simplexml_load_file hat schon ein Problem mit dem iw: .

          Kommentar


          • #6
            Anbei noch der komplette Kopf der XML-Datei:

            PHP-Code:
            <?xml version="1.0" encoding="ISO-8859-1"?>
            <iw:openimmo xsi:schemaLocation="http://www.openimmo.de openimmo.xsd" xmlns:iw="http://www.openimmo.de" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <iw:uebertragung art="OFFLINE" umfang="TEIL" version="1.1" sendersoftware="..."/>
            <iw:anbieter>
              <iw:anbieternr></iw:anbieternr>
              <iw:firma>Firma</iw:firma>
              <iw:openimmo_anid></iw:openimmo_anid>
              <iw:immobilie>
            usw.

            Kommentar


            • #7
              Das simplexml_load_file hat schon ein Problem mit dem iw: .
              Na dann würde ich sagen, validiere dein XML doch erst mal.

              Und bei SimpleXML kann man doch auch Fehler abfragen, über die libxml-Funktionen.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                also die xml selbst ist valide.

                das mit dem fehler abfangen probiere ich gerade aus...

                Kommentar


                • #9
                  so weit ich das jetzt rausgefunden habe, kann simplexml nicht wirklich xml-dateien mit namespaces lesen....eine Lösung dafür wäre wohl registerXPathNamespace, funktioniert aber noch nicht so wie beschrieben...

                  Kommentar


                  • #10
                    Bspw. der unter http://www.sitepoint.com/blogs/2005/...nd-namespaces/ beschriebene Weg klingt doch erst mal erfolgversprechend.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      danke, genau den hatte ich auch schon ausgeteste, leider steht mir auf dem produktiven Server nur php 5.0.6 momentan zur Verfügung.

                      Ich löse das ganze jetzt aber mit einer externen xml Klasse von www.phpxml.org. Das funktioniert wunderbar auch mit Namespaces.

                      Danke für die Hilfe.

                      Kommentar

                      Lädt...
                      X