Böyle bir XML dosyası var:XML'im jQuery'yi kullanarak JavaScript nesnelerine ayrıştırmanın en hızlı yolu bu mu?
<content>
<box>
<var1>A1</var1>
<var2>B1</var2>
<var3>C1</var3>
<var4>D1</var4>
</box>
<box>
<var1>A2</var1>
<var2>B2</var2>
<var3>C2</var3>
<var4>D2</var4>
</box>
<box>
<var1>A3</var1>
<var2>B3</var2>
<var3>C3</var3>
<var4>D3</var4>
</box>
</content>
Ben JavaScript nesneleri içine ayrıştırmak gerekir 500 box
öğesi vardır. Ben iyi çalışır bu kodu kullanıyorum ama deneyimsizim ve belki bir şey eksik ve bunu yapmak için daha iyi/hızlı bir yolu varsa önerilerini almak istiyorum: peşin
var app = {
//...
box: [],
init: function (file) {
var that = this;
$.ajax({
type: "GET",
url: file,
dataType: "xml",
success: function (xml) {
$("box", xml).each(function (i) {
var e = $(this);
that.box[i] = new Box(i, {
var1: e.children("var1").text(),
var2: e.children("var2").text(),
var3: e.children("var3").text(),
var4: e.children("var4").text()
});
});
}
});
},
//...
};
teşekkürler.
gibi bir şey faydalanmak, ancak o zaman nasıl benim yarattığım kutu nesnelerin prototip yöntemleri eklemek olabilir? – VerizonW
Tüm özellikleri, result.content.box dosyasındaki bir nesneyi istediğiniz yöntemlerle kopyalamak için kullanabilirsiniz ... (bunu isterseniz bir 'yapıcı' türü işlevinde yapabilirsiniz). Oldukça zarif değil. Alternatif olarak, tüm yöntemleri başarı işlevi içinde JSON sonuç nesnesine atayabilirsiniz. –
Başka bir deyişle - genellikle, oluşturulan kutu nesnelerine özel bir prototip veremezsiniz. Bunun yerine, JSON ayrıştırıcısının "düz eski veri" nesnelerini, bir şekilde kendinize tamamen işlevsel sürümler vermenize ya da yalnızca daha usül tarzı bir kodla geldikleri şekilde kullanmanız gerekir. –