Ankündigung

Einklappen
Keine Ankündigung bisher.

Gibt es für "preg_match_all" eine maximal Grenze an Array Einträgen

Einklappen

Neue Werbung 2019

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

  • Gibt es für "preg_match_all" eine maximal Grenze an Array Einträgen

    Ich lese einne sehr sehr sehr sehr große xml Datei aus.

    Bei dieser möchte ich per preg_match_all alle "<row>" Tags zählen.

    Nur funktioniert dass nicht es werden nur 33769 Tags erkannt es sind aber noch deutlich mehr. insgesamt: 159768

    Warum erkennt er nicht alle was gibt es für alternativen um alle Tags zu zählen?


  • #2
    Alternative:

    XMLReader und "per Hand" im XML navigieren. (open Methode verwenden!)

    XMLReader ermöglicht es dir(je nach Aufbau der Datei) größere XML-Dateien zu handhaben, als du mit traditionellen string funktionen oder einem DOM-Parser könntest.
    Ansonsten (google, keine eigenen Erfahrungen):

    https://github.com/prewk/xml-string-streamer
    Zitat von nikosch
    Naja, anscheinend spricht die Steckdose kein HTTP. LOL

    Kommentar


    • #3
      160k Tags sind für DOMDocument kein Problem vorausgesetzt die Kiste hat genug Speicher. Welches Ziel verfolgst du denn mit der XML ?
      [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

      Kommentar


      • #4
        Fail

        Kommentar


        • #5
          Wie auch immer.
          Das Ziel ist die XML Datei kleiner zumachen um Sie mit Simple XML Auslesen zu können. Da Simple .

          Kommentar


          • #6
            Es gibt einige Limits. Speicherlimit/Limit von Array-Einträgen, Timeout und auch reguläre Ausdrücke sind bspw. in der Verschachtelungstiefe limitiert.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              Zitat von Darknet Beitrag anzeigen
              Wie auch immer.
              Das Ziel ist die XML Datei kleiner zumachen um Sie mit Simple XML Auslesen zu können. Da Simple .
              Wenn du das nur einmal tun musst und nicht in sich wiederholenden Zeitabständen, kannst du doch hingehen und einen externen XSLT-Parser nutzen, der die Datenmenge auf mehrere kleine XMLs aufteilt.

              Windows bringt einen mit, er heißt MSXML und liegt bei der Standard-Installation von Windows als DLL vor. Hier kannst du den Command Line Wrapper herunterladen der Diese DLL für dich bedient.

              Du kannst damit anhand von XSL-Stylesheets dann kleinere XML Dokumente auf Basis deiner Wünsche extrahieren.
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                XSLT bekomme ich blöderweise nicht zum laufen.

                Kommentar


                • #9
                  Und wo klemmt es ?
                  [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                  Kommentar


                  • #10
                    Ganz einfach daran dass wenn ich msxsl.exe öffne nichts passiert.

                    Kommentar


                    • #11
                      http://homepages.ius.edu/rwisman/n34...SL%20Intro.htm

                      erklär mal genau was bei übung 4 passiert.

                      Kommentar


                      • #12
                        msxsl.exe ist ein command line tool, das parameter benötigt und aus der Kommandozeile von Windows ausgeführt wird ( oder einer Batch ).
                        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                        Kommentar


                        • #13
                          Aber dass Problem muss irgendwie im Script liegen habe dass ganze jetzt per XML Reader ausgelesen und er bricht an der selben Stelle ab.

                          Beim öffnen der Datei im Browser erhalte ich da eine Fehlermeldung:

                          PHP-Code:
                          XML-VerarbeitungsfehlerUngeschlossenes Token
                          Adresse
                          :  www.meine-adresse.de :-)
                          Zeile Nr742927Spalte 57:    <field name="filename">33485e0634413abe16daec943a79c3ff</fie 
                          Aber es ist an dieser Stelle alles inordnung:

                          PHP-Code:
                           <row>
                              <
                          field name="id">8361009</field>
                              <
                          field name="gallery_id">673246</field>
                              <
                          field name="title"></field>
                              <
                          field name="position">6</field>
                              <
                          field name="filename">ef55c9be29b6c04a3889af7afd22ab42</field>
                              <
                          field name="comments">0</field>
                              <
                          field name="state">1</field>
                              <
                          field name="comments_mod">0</field>
                              <
                          field name="ratings_count">0</field>
                              <
                          field name="created">2010-11-08 10:28:30</field>
                              <
                          field name="v3_id" xsi:nil="true" />
                              <
                          field name="v3_typ">0</field>
                              <
                          field name="v3_filename" xsi:nil="true" />
                              <
                          field name="last_comment_id">0</field>
                              <
                          field name="nameplates">0</field>
                              <
                          field name="view_count">89</field>
                              <
                          field name="width">1600</field>
                              <
                          field name="height">1063</field>
                              <
                          field name="comments_closed">0</field>
                            </
                          row>

                            <
                          row>
                              <
                          field name="id">8361010</field>
                              <
                          field name="gallery_id">673246</field>
                              <
                          field name="title"></field>
                              <
                          field name="position">7</field>
                              <
                          field name="filename">33485e0634413abe16daec943a79c3ff</field>
                              <
                          field name="comments">0</field>
                              <
                          field name="state">1</field>
                              <
                          field name="comments_mod">0</field>
                              <
                          field name="ratings_count">0</field>
                              <
                          field name="created">2010-11-08 10:28:35</field>
                              <
                          field name="v3_id" xsi:nil="true" />
                              <
                          field name="v3_typ">0</field>
                              <
                          field name="v3_filename" xsi:nil="true" />
                              <
                          field name="last_comment_id">0</field>
                              <
                          field name="nameplates">0</field>
                              <
                          field name="view_count">78</field>
                              <
                          field name="width">1067</field>
                              <
                          field name="height">1600</field>
                              <
                          field name="comments_closed">0</field>
                            </
                          row>

                            <
                          row>
                              <
                          field name="id">8361011</field>
                              <
                          field name="gallery_id">673246</field>
                              <
                          field name="title"></field>
                              <
                          field name="position">8</field>
                              <
                          field name="filename">c7ec464722fe953536a33333858b84cd</field>
                              <
                          field name="comments">0</field>
                              <
                          field name="state">1</field>
                              <
                          field name="comments_mod">0</field>
                              <
                          field name="ratings_count">0</field>
                              <
                          field name="created">2010-11-08 10:28:38</field>
                              <
                          field name="v3_id" xsi:nil="true" />
                              <
                          field name="v3_typ">0</field>
                              <
                          field name="v3_filename" xsi:nil="true" />
                              <
                          field name="last_comment_id">0</field>
                              <
                          field name="nameplates">0</field>
                              <
                          field name="view_count">82</field>
                              <
                          field name="width">1600</field>
                              <
                          field name="height">1063</field>
                              <
                          field name="comments_closed">0</field>
                            </
                          row
                          Und mit msxsl.exe ebenfalls gleiche Stelle geicher Fehler.

                          Feherstelle in eine Extra XML Datei geschrieben kein Fehler.

                          Kommentar


                          • #14
                            Okay jetzt funktioniert die Datei.

                            Die Datei war kaputt

                            Kommentar

                            Lädt...
                            X