login  Naam:   Wachtwoord: 
Registreer je!
 Forum

SimpleXMLstring sorteren.

Offline Flex1986 - 02/05/2007 21:22
Avatar van Flex1986Gouden medaille

Senior Member
Ik ben bezig met een nieuwe webbased apllicate waarbij uit een exe data wordt verzameld deze krijg ik allemaal netjes in xml formaat. Alleen nu wil ik graag dat deze gesorteerd kunnen worden. Dus dat een gebruiker kan kiezen op welk attribuut er gesorteerd wordt.

Voor de xml verwerking gebruik ik SimpleXMLElement.

code ongesorteerd:
  1. <xml>
  2. <data>3</data>
  3. <data>2</data>
  4. <data>1</data>
  5. </xml>


Moet dus worden.
  1. <xml>
  2. <data>1</data>
  3. <data>2</data>
  4. <data>3</data>
  5. </xml>


Weet iemand of dit mogelijk is en zo ja hoe pak ik dat aan. sort() funtie werkt niet aangezien het geen array is maar een string.

4 antwoorden

Gesponsorde links
Offline Grayen - 02/05/2007 21:31
Avatar van Grayen PHP ver gevorderde Er zijn toch ook talen zoals sql een taal is om met mysql databases te kunnen communiceren, zo zijn er toch ook voor xml talen? Ik dacht dat xpath zo'n taal was. Dan kun je het waarschijnlijk wel doen.
Offline Flex1986 - 03/05/2007 08:32
Avatar van Flex1986 Gouden medaille

Senior Member
Ik heb er even naar gekeken maar dit is dat je kan zoeken in een document. Weet iemand misschien nog een andere mogelijkheid?
Offline Rik - 03/05/2007 10:05
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Zoiets?

  1. <?php
  2. $xml = '<xml>
  3. <data>3</data>
  4. <data>2</data>
  5. <data>1</data>
  6. </xml>';
  7.  
  8. preg_match_all('~<data>(\d+)</data>~', $xml, $matches);
  9. $data = $matches[1];
  10. sort($data);
  11.  
  12. $xml = '<xml>' . "\r\n" . '<data>' . implode('</data>' . "\r\n" . '<data>', $data) . '</data>' . "\r\n" . '</xml>';
  13. ?>
Offline Flex1986 - 03/05/2007 18:36
Avatar van Flex1986 Gouden medaille

Senior Member
Bedankt voor je hulp. Dit werkt goed! Zal hem zelf even moeten aanpassen. Zodat ie helemaal geschikt is voor de data die nu wordt uitgevoerd.

Alleen het is jammer dat dit het script zo langzaam maakt. Ik ga dus uitvoer opslaan in een mysql database om hem daarna makkelijk en vooral sneller te kunnen sorteren. Voor de gebruikers zonder MySQL blijft deze optie er wel inzitten. Maar op 5000 parents duurt sorteren van XML gewoon te lang.

Ik hoop dat iemand een snellere methode weet en anders heb ik pech 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.227s