我有一个问题是为我的一个项目创建一个特定的数组。我需要和数组总是这些字段:
[id |输入| nbItems]
然后就此:
m_name:m_value:
但这可以是随机的,我可以有1到无限的m_name / m_value。
[id | Type | nbItems] -> m_name : weblink
m_value : http://xxx.com
[id | Type | nbItems] -> m_name : text
m_value : Google
m_name : icon
m_value : icon.png
m_name : weblink
m_value : http://xxx.com
希望它足够清楚......
编辑
function readItem()
{
var array = XMLDoc.getElementsByTagName("m_params")[curParam].getAttribute("enc:arraySize");
// m_params => nBItem
var node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_type")[0];
var type = node.childNodes[0].nodeValue;
// type
node = XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id")[XMLDoc.getElementsByTagName("item")[itemCpt].getElementsByTagName("m_id").length-1];
var id = node.childNodes[0].nodeValue;
// id
var i;
for (i = 0; i < array; i++) {
readValue(i, XMLDoc);
}
itemCpt = itemCpt + i + 1;
var child = XMLDoc.getElementsByTagName("m_childs")[curParam].getAttribute("enc:arraySize");
curParam++;
for (var c = 0; c < child; c++) {
readItem(curParam, XMLDoc);
}
}
function readValue(i)
{
var item;
var node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_name")[i];
item = node.childNodes[0].nodeValue;
// m_name
node = XMLDoc.getElementsByTagName("m_params")[curParam].getElementsByTagName("m_value")[i];
item = item.concat('\n' + node.childNodes[0].nodeValue);
// m_value
}
答案 0 :(得分:0)
如果您需要添加具有某些已知值的项目,可以尝试:
var itemsList = [];
itemsList.push({
id:1,
Type:"Some",
nbItems:[{
m_name : "weblink",
m_value : "http://xxx.com"
}]
});
itemsList.push({
id:2,
Type:"AnotherSome",
nbItems:[{
m_name : "text",
m_value : "Google"
},{
m_name : "icon",
m_value : "icon.png"
},{
m_name : "weblink",
m_value : "http://xxx.com"
}]
});