Atradau pats galiausiai rūšiavimo būdą su php - funkcija xsort, naudojanti array_multisort. Tik tam dar reikėjo pasiversti data i kitoki datos formata, kad išeitų rūšiuoti function xsort(&$nodes, $child_name, $order=SORT_ASC) { $sort_proxy = array(); foreach ($nodes as $k => $node) { $sort_proxy[$k] = (string) $node->$child_name; } array_multisort($sort_proxy, $order, $nodes); } $xml = simplexml_load_file("koncertai.xml"); $nodes = $xml->xpath('concerts/concert'); foreach ($nodes as $concert){ $formatas=date('Y-m-d', strtotime($concert->date)); $concert->date=$formatas; } xsort($nodes, 'time', SORT_ASC); xsort($nodes, 'date', SORT_ASC); "jurgis" <jurgis@burda.lt> parašė naujienų news:jbn0jo$hv2$1@trimpas.omnitel.net... > Sveiki, > > reikia nuskaityti xml faila ir atvaizduoti koncertus, ta sekmingai > pavyksta padaryti > > $xml = simplexml_load_file("koncertai.xml"); > foreach ($xml->concerts->concert as $concert){ > echo($concert->name); > } > > Problema atsiranda jei bandau isrusiuoti pagal data. funkcija sort veiktu, > jei duomenys butu tiesiog eilute skaiciu ar zodziu, > o kaip rusiuoti visa objekta, kad koncertai issideliotu pagal > $concert->date? > > Bandziau naudoti smarty > > {foreach from=$xml->concerts->concert item="concert" key=id} > {$concert->name} > {/foreach} > > veikia, o pridejus "sortby" nebegaunu nei vieno koncerto: > > {foreach from=$xml->concerts->concert|sortby"date" item="concert"} > {$concert->name} > {/foreach} > >