1

XMLファイルに保存された画像/情報を含む動的バナーがあります。ユーザーが好きなように画像を再配置するオプションを追加しています(Jqueryで並べ替え可能)。新しい順序(id属性をカウント)を取得したら、各ノードの情報をコピーして再度保存することなく再配置したいと思います。新しい順序で。例えば:

<banners>
 <banner id="1001">
  <infos...>
 </banner>
 <banner id="1003">
  <infos...>
 </banner>
 <banner id="900">
  <infos...>
 </banner>
</banners> 

ユーザーが900、1003、1001に再配置されたとします。ID番号でノードを取得し、それに応じて再配置できるようにしたいと思います。それを行う簡単な方法はありますか?

4

1 に答える 1

0

order(1)すべてのノードに子を追加し、<banner>(2)その子でxmlをソートします。

(1)の場合:$xmlsimplexml-objectであり、順序は$order...に格納されます。

$order=array(900,1001,1003);

foreach ($xml->banner as $banner) {

    foreach ($order as $k => $v)
        if ($banner['id']==$v) $banner->addChild('order',$k);

}

(2)の場合:xmlを並べ替える: この投稿で受け入れられた回答を参照:order単純なXMLとxpathを使用してテーブルフィールドを並べ替える

live-demo@ http://codepad.viper-7.com/MdcT7Bを参照してください

于 2013-03-27T00:25:23.783 に答える