重複の可能性:
SimpleXMLElement オブジェクト
こんにちは、XML ドキュメントを並べ替えたいと思います。次のようにします。
public 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);
}
そして、変数にソートされた配列を取得し$nodes
ます。コードでは、次のように使用されます。
$this->xsort($nodes, 'kategoria_6', SORT_DESC);
print_r($nodes); を実行すると ソートされたビューを取得します
SimpleXMLElement Object (
[kategoria_6] => kat4
[opis_6] => opis4
[img] => slides/slide3.jpg
)
SimpleXMLElement Object (
[kategoria_6] => kat3
[opis_6] => opis3
[img] => slides/slide2.jpg
)
SimpleXMLElement Object (
[kategoria_6] => kat2
[opis_6] => opis2
[img] => slides/slide1.jpg
)
SimpleXMLElement Object (
[kategoria_6] => kat1
[opis_6] => opis1
[img] => slides/slide0.jpg
)
SimpleXMLElement Object (
[kategoria_6] => kat1
[opis_6] => opis1
[img] => slides/slide4.jpg
)
しかし、ファイルに保存したいときは、ソートされていません。ファイル保存コード:
$dom = new DOMDocument('1.0', 'utf-8');
foreach ($nodes as $element) {
$dom = dom_import_simplexml($element)->ownerDocument;
}
$dom->save("c:\\aaa.xml");
ソートされていない理由を知っている人はいますか?