我有一堆交互活動,它們是通過讀取XML文件中的所有參數而寫入的。我們正在擺脫FLASH,所以我正在編寫一個腳本,它將讀取我需要的XML元素,並動態地構建一個包含所有元素及其屬性的JavaScript對象。最後,我通過JSON.stringify()傳遞對象並傳回JSON版本。卡住動態構建javascript對象
我正在閱讀XML中使用ajax調用與JQUERY然後JS和JQUERY的混合。我喜歡jQuery的DOM選擇器。
我正在學習所有這些東西,因爲我一直沿着這裏走,我不是貿易開發商,所以當我到達需要處理一堆元素的時候,我碰到了一堵牆.each( )。儘管我不確定,但我仍在猜測它的語法。一切都很好,直到需要添加XML中的「面板」爲止...... 我必須處理每個面板。
$.ajax({
type: "GET",
url: "activity.xml",
dataType: "xml",
success: function(xml) {
var activity = {
title : {
text: $(xml).find('title').text(),
xpos: $(xml).find('title').attr('xpos'),
ypos: $(xml).find('title').attr('ypos')
},
rubric : {
text: $(xml).find('rubric').text(),
xpos: $(xml).find('rubric').attr('xpos'),
ypos: $(xml).find('rubric').attr('ypos')
},
panels: {
$(xml).find('panel').each(function() {
panel :{width: $(this).attr('width'),
height: $(this).attr('height'),
xpos: $(this).attr('xpos'),
ypos: $(this).attr('ypos')
}});// end .each()
}// end panels object
});//end ajax.get(xml)
var activity_json = JSON.stringify(activity);
林肯定它沒有這樣做,但我不知道它應該如何。提前
感謝
在JSfiddle上放置這個簡化版本 - 很難在沒有看到原始數據的情況下發現問題。 過去我遇到的一件事是,你必須確保XML是有效的 - 一些閃存例程比web瀏覽器更寬容。你檢查過所有的activity.xml是否正確驗證? – pp19dd 2012-02-06 16:12:21