Simple XML sortieren nach Einträgen

Cusco

Erfahrenes Mitglied
Hi,

wie sortiere ich eine xml - Array? die Variable heißen z.B.
$daten->feld[]->typ
oder
$daten->feld[]->bezeichnung
usw.

Die Felder sollen zusammen bleiben nur möchte ich nach der Feldbezeichnung sortieren, also z.B. nach ->typ oder ->bezeichnung auch wäre es gut wenn die Sortierung verknüpft werden würde also z. B. 1 Priorität Typ 2. Pri. Bezeichnung.
Ich habe schon 2 Stunden mich mit Google abgequält und nichts gefunden :(

Die xml-Datei sieht so aus:

Code:
<?xml version="1.0"?>
<daten>
<feld>
  <typ>1</typ>
  <bezeichnung>Bezeichnung</bezeichnung>
  <jahrgang>2000</jahrgang>
  <gewicht>100</gewicht>
  <anzahl>2</anzahl>
  <kaufpreis>250</kaufpreis>
  <kaufdatum>100000</kaufdatum>
  <kommentar>Kommentar zum Test</kommentar>
</feld>
<feld>
  <typ>0</typ>
  <bezeichnung>Bezeichnung II</bezeichnung>
  <jahrgang>1998</jahrgang>
  <gewicht>50</gewicht>
  <anzahl>1</anzahl>
  <kaufpreis>250</kaufpreis>
  <kaufdatum>1000000</kaufdatum>
  <kommentar>Kommentar zum 2. Eintrag</kommentar>
</feld>

</daten>

Und wird in die obere Varibale per simple xml geladen.
 
Als mir würde jetzt spontan nur einfallen selbst ein Sortieralgorithmus zu implementieren.
zB. Bubblesort oder Quicksort

Oder du wandelst die Objekte irgendwie in ein Array um, das du dann sortieren kannst, falls es nicht schon eine Routine zum Objekte sortieren gibt. Problem ist halt, dass die Objekte im Array dann auch wieder Objekte oder Arrays wären, dh. das das Sortierkriterium schwer/gar nicht zu bestimmen ist. Wenn ich vor dem Problem stände, würde ich den Algorithmus selbst implementieren.
 
Als mir würde jetzt spontan nur einfallen selbst ein Sortieralgorithmus zu implementieren.
zB. Bubblesort oder Quicksort

Oder du wandelst die Objekte irgendwie in ein Array um, das du dann sortieren kannst, falls es nicht schon eine Routine zum Objekte sortieren gibt. Problem ist halt, dass die Objekte im Array dann auch wieder Objekte oder Arrays wären, dh. das das Sortierkriterium schwer/gar nicht zu bestimmen ist. Wenn ich vor dem Problem stände, würde ich den Algorithmus selbst implementieren.

Danke für die Antwort. Ich habe die Sortieren in der Nacht noch fertig gestellt und einfach die einzelnen Punkte in extra Arrays geschrieben mit array_multisort sortiert und wieder zurückgeschrieben :) Was anderes viel mir auch nicht ein. Ich habe das auch extra in eine Funktion gepackt damit die zusätzlichen Arrays nicht global sind.
 
Noch ne Frage: Kann es sein das die Variablen bei Simple XML immer in Form eines Strings vorliegen? Ich habe gemerk, das sobald ich mit den Zahlen arbeiten will, immer den Typ bestimmen muss damit es funktioniert. Ich setze dann immer (int), oder (float) ein, wobei der Phase5 Editor float anscheint nicht kennt und ich befürchte das es den Typ nicht gibt, aber es schein irgendwie zu funktionieren. Ich komme von der Basic (10 Jahre)und C (Vorkenntnisse) Brance und dachte einfach das das PHP auch können muss, da an C angelegt. Wobei PHP einfacher als C ist, wegen den vielen Funktionen in PHP, in C muss jedes Korn selbt geschrieben werden welches das Hünchen schlucken soll. Das Problem aber bei PHP, ich kenne die ganzen vorgefertigen Funktionen noch nicht.
 
Zurück