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

  • bish
    hat ein Thema erstellt XML mit SimpleXML parsen bei ansteigenden Keys.

    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

  • nikosch
    antwortet
    Das wäre das beste. Ansonsten kannst Du es über node->children() und Schleifen lösen.

    Einen Kommentar schreiben:


  • bish
    antwortet
    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

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Dann solltest DU mehr Infos zur XML-Struktur posten.

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    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.

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Bau' doch einfach die XML-Datei etwas um:

    Code:
    <PlayerInfos>
      <keys>
        <name>
          ...
        </name>
        <age>
          ...
        </age>
      </keys>
    </PlayerInfos>

    Einen Kommentar schreiben:


  • chorn
    antwortet
    Hi, hier findest du Infos, auch mal die Kommentare lesen

    PHP: Variable Variablen - Manual

    Einen Kommentar schreiben:

Lädt...
X