Ankündigung

Einklappen
Keine Ankündigung bisher.

XML mit SimpleXML parsen bei ansteigenden Keys

Einklappen

Neue Werbung 2019

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

  • XML mit SimpleXML parsen bei ansteigenden Keys

    Hallo,
    da ich über die Suchfunktion nur Fragen zu gleichnamigen Keys gefunden habe, aber nicht mein Problem habe ich mich entschlossen hier einen neuen Thread aufzumachen.

    Mein Problem ist folgendes:
    Die Knotenpunkte meiner XML-Datei sind nicht gleichnamig, so dass ich diese via simpleXML nicht automatisch in ein Array eingelesen kriege

    Auszug XML-Datei
    Code:
    <PlayerInfos>
     <key1>
      ....
     </key1>
     <key2>
      .....
     </key2>
    
    ....
    </PlayerInfos>
    Es geht um die <key1>, <key2>... Elemente

    Wie kriege ich die auf einfache Weise in das Simple-XML-Array? Derzeit muss ich z.b. immer auf folgende art und weise zugriefen

    Code:
    foreach ($xml->PlayerInfos as $player)
    {
       echo $player->key1->name, '<br />';
    }
    und damit kriege ich ja nur den ersten Key.
    Mir würde spontan nur einfallen den String "key" immer ne neue Zahl hinten dran kleben im Zuge einer Schleife wo ich die Zahl hochzähle und dann aber gleichzeitig überprüfen muss ob es diesen Key dann überhaupt gibt.

    Gibt es dafür elegantere Lösungen?

    Wenn ich gleichnamige Keys hätte wäre das für SimpleXML ja kein Problem und ich hätte sie in nem Array wo ich einfacher drauf zugreifen könnte


    Grüße

  • #2
    Hi, hier findest du Infos, auch mal die Kommentare lesen

    PHP: Variable Variablen - Manual
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Bau' doch einfach die XML-Datei etwas um:

      Code:
      <PlayerInfos>
        <keys>
          <name>
            ...
          </name>
          <age>
            ...
          </age>
        </keys>
      </PlayerInfos>
      [URL]http://hallophp.de[/URL]

      Kommentar


      • #4
        Gibt es dafür elegantere Lösungen?
        Ja, nicht diese unpraktischen key1, key2, benutzen. XML ist genau dafür gedacht, eben auch gleichnamige Tags benutzen zu können.
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Der Aufbau der XML-Datei liegt nur nicht in meiner Hand sondern ist der Export aus nem Programm / Tool

          Kommentar


          • #6
            Dann solltest DU mehr Infos zur XML-Struktur posten.
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Zitat von nikosch Beitrag anzeigen
              Dann solltest DU mehr Infos zur XML-Struktur posten.
              hm gibt wenn ich ehrlich bin nicht mehr infos. in der XML-Struktur gibt es an mehreren Stellen etwas wie das folgende:

              Code:
              <attendees>
                <key1>
                  <name>name von 4</name>
                </key1>
                <key2>
                  <name>name von 2</name>
                 </key2>
                 <key3>
                   <name>name von 3</name>
                 </key3>
              ....
              </attendees>
              auf die ebene der kategorie (hier attendees) zu kommen, ist ja null prob, aber dann stehen halt aufsteigende keys drin...

              bin nebenbei auch mal an den entwickler drangetreten, mal gucken ob der mit sich reden lässt

              Kommentar


              • #8
                Das wäre das beste. Ansonsten kannst Du es über node->children() und Schleifen lösen.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar

                Lädt...
                X