WernerK: XML String auslesen

Hallo, ich möchte gerne mit PHP und SimpleXML einen XML String auslesen.

Und zwar hätte ich gerne das Belegatum "04.05.2018" vom FIELD[1] (also ID 11)

Ich versuche es so:

$responseData = new SimpleXMLElement($data);
echo $responseData->SUCCESS->DOCUMENT->FIELD[1]->DATA;

Es kommt aber immer die Meldung: Notice: Trying to get property of non-object

<?xml version="1.0" encoding="UTF-8"?>
<RESPONSE XMLID="XMLID">
<SUCCESS REQUESTID="1" COMMAND="LOGIN"/>
<SUCCESS REQUESTID="1" COMMAND="DOCUMENT">
<DOCUMENT ID="4711" FIELDCOUNT="9" CREATION="1536154077" EDITED="1536154077" ARCHIVED="1">
<FIELD ID="10" NAME="Barcode" TYPE="STRING" USE="USER" CODE="ANSI" ATTRIB="FieldID=1070" SEGMID="0">
<DATA><![CDATA[1681276794]]></DATA>
</FIELD>
<FIELD ID="11" NAME="Belegdatum" TYPE="STRING" USE="USER" CODE="ANSI" ATTRIB="FieldID=1027" SEGMID="1">
<DATA><![CDATA[04.05.2018]]></DATA>
</FIELD>

</DOCUMENT>
</SUCCESS>
</RESPONSE>

Was mache ich falsch?

Gruss Werner

  1. Hallo im Moment wo ich es abgesendet habe, habe ich den Fehler entdeckt 😀 Es gibt ja zweimal SUCCESS

    Danke Gruss Werner

  2. Tach!

    $responseData = new SimpleXMLElement($data);
    echo $responseData->SUCCESS->DOCUMENT->FIELD[1]->DATA;
    

    Es kommt aber immer die Meldung: Notice: Trying to get property of non-object

    Was mache ich falsch?

    Sieht aus, als ob du kein Debugging betreibst. Steht in $responseData das drin, was du erwartest? Was zeigt print_r($responseData)?

    dedlfix.

  3. Lieber WernerK,

    Was mache ich falsch?

    sollten bei XML die Elementnamen nicht grundsätzlich in Kleinbuchstaben notiert werden? Oder ist das nur bei XHTML/HTML5 so?

    Liebe Grüße,

    Felix Riesterer.

    1. @@Felix Riesterer

      sollten bei XML die Elementnamen nicht grundsätzlich in Kleinbuchstaben notiert werden?

      Nein.

      XML ist aber case-sensitiv. foo ist was anderes als Foo.

      Oder ist das nur bei XHTML/HTML5 so?

      Für XHTML ist die Kleinschreibung aller Elementtypen und (AFAIK) aller Attributbezeichner festgelegt.

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann