Ankündigung

Einklappen
Keine Ankündigung bisher.

String XML zu einem Array

Einklappen

Neue Werbung 2019

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

  • String XML zu einem Array

    Hallo,

    ich habe hier ein Problem wo ich nicht wirklich weiter komme und da habe ich mir gedacht ich frage mal um Hilfe. Um ehrlich zu sein bin ich mir nicht sicher ob ich hier in der richtigen Section bin, weil ich nicht wirklich einschätzen kann wann man Fortgeschritten ist und wann nicht

    Also ich habe ein String mit 20000~ Zeichen. Dieses ist eine XML (erhalte ich von einer API) nun möchte ich das in ein Array umwandeln und benutze daher simplexml_load_string. Das encode ich zu JSON und decode es wieder zurück und erhalte daraus dann ein Ordentliches Array. Das Klappt wunderbar wenn der String nicht zu lang ist. Wenn ich z.b ein String mit 20000~ Zeichen umwandele Fehlen mir auf einmal alle ebenen ab der 10 (in dem Array sind Sie einfach nicht vorhanden) wenn ich mir das encoden und decoden ansehe Fehlen diese da schon. Also gehen die Zeichen bei

    $oXML = simplexml_load_string($aPositionen, "SimpleXMLElement", LIBXML_NOCDATA); verloren. Wenn ich mich nicht richtig ausdrücken konnte würde ich es nochmals umformulieren.
    Da ich mit den Daten weiterarbeiten muss brauch ich es in einem Ordentlichen Format und mit Objekten weiß ich nicht wie ich ganz umgehen soll daher wandele ich es in ein Array um. Gibt es da noch andere Wege falls es am simplexml_load_string liegt?

    Danke!

  • #2
    Gibt es da noch andere Wege falls es am simplexml_load_string liegt?
    DOMDocument http://php.net/manual/de/class.domdocument.php

    XMLReader http://php.net/manual/de/book.xmlreader.php

    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Kann es zufällig sein das die API dir die Ergebnisse per GET Methode zurück liefert? Stichwort 2048 Zeichen maximallänge?

      Kommentar


      • #4
        Zitat von Baldry Beitrag anzeigen
        bin ich mir nicht sicher ob ich hier in der richtigen Section bin, weil ich nicht wirklich einschätzen kann wann man Fortgeschritten ist und wann nicht
        siehe 2. Beitrag zum Forum

        Zitat von Baldry Beitrag anzeigen
        Also ich habe ein String mit 20000~ Zeichen. Dieses ist eine XML (erhalte ich von einer API) nun möchte ich das in ein Array umwandeln und benutze daher simplexml_load_string. Das encode ich zu JSON und decode es wieder zurück und erhalte daraus dann ein Ordentliches Array. Das Klappt wunderbar wenn der String nicht zu lang ist. Wenn ich z.b ein String mit 20000~ Zeichen umwandele Fehlen mir auf einmal alle ebenen ab der 10 (in dem Array sind Sie einfach nicht vorhanden) wenn ich mir das encoden und decoden ansehe Fehlen diese da schon. Also gehen die Zeichen bei

        $oXML = simplexml_load_string($aPositionen, "SimpleXMLElement", LIBXML_NOCDATA);
        Bevor du dich auf Fehlersuche machst schalte bei dir das Error-Reproting ein und schaue in das Fehlerlog von PHP.
        Welche Fehler tauchen auf.

        Kommentar


        • #5
          Zitat von protestix Beitrag anzeigen
          siehe 2. Beitrag zum Forum


          Bevor du dich auf Fehlersuche machst schalte bei dir das Error-Reproting ein und schaue in das Fehlerlog von PHP.
          Welche Fehler tauchen auf.
          Vielen dank für den Hinweiß. Ich hab in die Logs geschaut und es taucht kein Fehler auf. Ich hab mir die Antwort der API nochmals genauer angesehen und auch dort Fehlen die Werte wohl. Daher wird mir wohl von der API nicht genug übermittelt.
          Vielen Dank das Problem hat sich damit aufgelöst, weil es nicht an mir liegt

          Kommentar


          • #6
            Schau mal nach ob die API nicht auch POST als Antwortmethode unterstützt. Da hast du das Problem mit der Längenbegrenzung dann nämlich nicht bzw. zumindest nicht in dem Maße

            Kommentar


            • #7
              Zitat von TessaKavanagh Beitrag anzeigen
              Schau mal nach ob die API nicht auch POST als Antwortmethode unterstützt. Da hast du das Problem mit der Längenbegrenzung dann nämlich nicht bzw. zumindest nicht in dem Maße
              .. Tut mir leid wollte nicht eure Zeit verschwenden war wohl ein Anfänger Fehler. Man kann Limits angeben wie viel er übersenden soll und im Standard sind es 10. Da ich kein Limit angegeben habe habe ich auch weniger erhalten als ich erhoffte.

              Kommentar

              Lädt...
              X