[英]Is this the fastest way to parse my XML into JavaScript objects using jQuery?
我有一個像這樣的XML文件:
<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
元素,我需要將它們解析為JavaScript對象。 我正在使用此代碼,它可以正常工作,但我是新手,也許我錯過了一些東西,如果有更好/更快的方法可以尋求建議:
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()
});
});
}
});
},
//...
};
提前致謝。
我有一個XML源,我被迫使用..我在客戶端將其轉換為JSON,然后加載它。
Tracker.loadCasesFromServer = function () {
$.ajax({
type: 'GET',
url: '/WAITING.CASES.XML',
dataType: 'xml',
success: function (data) {
Tracker.cases = jQuery.parseJSON(xml2json(data, ""));
Tracker.loadCasesToMap();
},
data: {},
async: true
});
};
使用了XML2JSON轉換器,可以在這里找到: http : //www.thomasfrank.se/xml_to_json.html
鄧肯
盡可能使用JSON 。 這樣,瀏覽器將為您進行解析,而您無需進行任何后處理。
來自服務器的JSON
{"content":
{"box": [
{"var1": "A1",
"var2": "B1",
"var3": "C1",
"var4": "D1"},
{"var1": "A2",
"var2": "B2",
"var3": "C2",
"var4": "D2"},
{"var1": "A3",
"var2": "B3",
"var3": "C3",
"var4": "D3"}]}}
客戶端JavaScript
var app = {
//...
box: [],
init: function (file) {
var that = this;
$.ajax({
type: "GET",
url: file,
dataType: "json",
success: function(result) {
that.box = $.map(result.content.box, function(box, i) {
return new Box(i, box);
});
}
});
},
//...
};
您可以使用瀏覽器本機XML支持,我想它會很快。 但是,這在不同的瀏覽器中有所不同,例如(Firefox: DOMParser ,IE: XMLDOM ..)。
因此,您不僅可以繼續手動操作所有瀏覽器,還可以使用類似https://sites.google.com/a/van-steenbeek.net/archive/explorer_domparser_parsefromstring的工具
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.