मैं इस तरह एक XML फ़ाइल है:क्या यह jQuery का उपयोग कर जावास्क्रिप्ट ऑब्जेक्ट्स में मेरे एक्सएमएल को पार्स करने का सबसे तेज़ तरीका है?
<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>
यह 500 box
तत्व है जो मैं जावास्क्रिप्ट वस्तुओं में पार्स करने के लिए की जरूरत है। मैं इस कोड है जो ठीक काम करता है का उपयोग कर रहा है, लेकिन मैं एक नौसिखिया हूँ और शायद मैं कुछ याद आ रही है और सुझाव प्राप्त करने के साथ ही कोई बेहतर/तेजी से यह करने के लिए तरीका है चाहते हैं:
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()
});
});
}
});
},
//...
};
अग्रिम धन्यवाद। सब पर यदि संभव हो तो
यह बहुत अच्छा लगता है की तरह कुछ का उपयोग कर सकता है, लेकिन फिर मैं कैसे बनाया बॉक्स वस्तुओं के प्रोटोटाइप के लिए तरीके जोड़ सकता है? – VerizonW
आप तरीकों आप चाहते हैं के साथ एक वस्तु में result.content.box से सभी गुण कॉपी करने के लिए लूप में के लिए ... एक इस्तेमाल कर सकते हैं (आप कर सकते हैं कि एक 'निर्माता' प्रकार समारोह में यदि आप चाहें)। यह काफी सुरुचिपूर्ण नहीं है। वैकल्पिक रूप से, आप सफलता कार्य के अंदर JSON परिणाम ऑब्जेक्ट को सभी विधियों को असाइन कर सकते हैं। –
दूसरे शब्दों में - आम तौर पर, आप वास्तव में बनाए गए बॉक्स ऑब्जेक्ट्स को एक विशेष प्रोटोटाइप नहीं दे सकते हैं। इसके बजाय, आप "सादे पुराने डेटा" का अनुवाद करने के लिए है वस्तुओं JSON पार्सर किसी भी तरह से कार्य करने वाले संस्करणों अपने आप में आप देता है, या सिर्फ उन्हें जिस तरह से वे और अधिक प्रक्रियात्मक शैली कोड में आते हैं का उपयोग करें। –