2012-03-28 17 views
1

私はグループごとにXポイントとYポイントを持つデータベースを扱っています。画像の輪郭を描くために使用されています。jQueryでXMLテキストを解析する

今の私のWeb側でこのコードは、私はポイントを得るために使用するものである:

var Drawing = $(XML).find('DrawingXML'); 

alert($(Drawing[1]).text()); 

結果:それはですので.replace()の呼び出しを使用して

<DrawingPoints> 
    <Point><X>1</X><Y>2</Y></Point> 
    <Point><X>2</X><Y>4</Y></Point> 
    <Point><X>3</X><Y>5</Y></Point> 
    <Point><X>2</X><Y>2</Y></Point> 
    <Point><X>0</X><Y>4</Y></Point> 
</DrawingPoints> 

が一つだけのアイテムを変更しますこのような何かのために使用可能:

.replace("</DrawingPoints>",""); 

が、私は運が悪いんだすべての「ポイント」のタグを置換する場合。

私の目標は、私はそれがこのように解析することにしたいからポイントを描画するキャンバスの機能を使用することです:

ctx.beginPath(); 
ctx.moveTo(1,2); 
ctx.lineTo(2,4); 
ctx.lineTo(3,5); 
ctx.lineTo(2,2); 
ctx.lineTo(0,4); 
ctx.stroke(); 

私はIEブラウザだけのSafari/Chromeでこれを使用するつもりはありません、それが助けられるならば。

答えて

0

は、一度にすべてのあなたのXとYの値を取得します。これは正確ではないかもしれません

var points = {}; 
points.X = Array(); 
points.Y = Array(); 
var ix = 0; 

$(XML).find('DrawingXML DrawingPoints Point X').each(function() 
{ 
    points.X[ix++] = $(this).text(); 
}); 
$(XML).find('DrawingXML DrawingPoints Point Y').each(function() 
{ 
    points.Y[ix++] = $(this).text(); 
});

、私はそれをテストしていないと私はjavascriptが少し錆びですが、あなたのアイデアを得ます。

+0

助けてくれてありがとう、しかし問題は「DrawingXML」の作品を見つけることですが、それは理にかなっている場合DrawingPointsは>ポイント> Yそれらの「XML」の項目のすべてがそうではない、実際にXMLだテキストに保管されています...テキストをXMLに変換してからjqueryを使用して変換する方法があれば、それは素晴らしいことです。 – c9four

+0

jqueryにその文字列をロードすると、検索してループするオブジェクトがあります。 – rcdmk

+0

アラート($(ポイント)。テキスト());まだ空白を出力しています:/ – c9four

0

この場合、おそらくあなた自身のコードを書くのではなく、ライブラリを使用することによって、非常に多くの脳を救うことができます。

私はd3は何が必要ありません数える:

+0

それは面白そうだと私は解決策がない場合、私はそれを使用することがあります。それは私が一般的にプログラミングを始めたばかりのことで、新しいライブラリを見るのが私の頭の中にあります。 – c9four

+0

私は、ライブラリが学習する最善の方法だと主張したいと思います。問題へのアプローチを設計し、特定の実装の詳細についてソースを確認する方法がわかります。 – RobinGower