2011-09-26 5 views
0

してJavaScript、XML出力、私は私が私のjavascriptのドキュメントにXMLを解析しています。このグループの文字または他の属性

<?xml version="1.0" encoding="UTF-8"?> 
<mapPoints> 
<annotation cat="A" title="123" type="pointer"/> 
<annotation cat="A" title="333" type="pointer"/> 
<annotation cat="B" title="555" type="pointer"/> 
</mapPoints> 

のようになりますXMLドキュメントを持っています。 今、マークアップは私の構文解析が正常に動作しているこの

<div class="A"> 
<ul> 
<li>123 cat A</li> 
<li>333 cat A</li> 
</ul> 
</div> 
<div class="B"> 
<ul> 
<li>555 cat B</li> 
</ul> 
</div> 

ようになりますように、私はグループにXMLで猫の異なるdivをベースに私のxmlファイルの出力をしたいが、私は知りませんどのように私はエントリをグループ化し、異なるdivにそれらを出力します。ソリューションは多くのカテゴリになる可能性があるため、動的にする必要があります。

答えて

1

のjQueryを使用して、変数xmlであなたのXMLを持っていると仮定すると、これを試してみてください。

$(xml).find('mapPoints annotation').each(function() { 
    var class = $(this).attr('cat'); 
    if ($('div.' + class).length == 0) { 
     $('#annotations').append('<div class="' + class + '"><ul></ul></div>'); 
    } 
    $('div.' + class + ' ul').append(getLiFromXml(this)); 
}); 

getLiFromXml<annotation cat="A" title="123" type="pointer"/>ため<li>123 cat A</li>を返す関数である - うまくいけば、あなたは簡単にそれを書くことができます。最初divを追加するコードを更新しました

UPDATE

。私はあなたがdivをすべてコンテナに入れたとします(divtd、何でも...)id="annotations"

+0

お返事ありがとう!それは私にすべての猫のためのdivを与えないだろうか?もし私が猫で10のエントリを持っているなら、それらのすべてが新しい猫A divを作成するだろうか? – Tobias

+0

'$( 'div。' + class + 'ul')'をあらかじめ作成しておきます。私はそれを言うために投稿を編集します。 –

+0

ねえ、助けましたか? –

関連する問題