我目前有以下内容来构建一个XML字符串,它将通过套接字发送,并且想知道是否有更好的方法来构建它的可读性。
我以为我读过某个地方你可以用快捷方式向DOM添加元素,但不知道这是否适用于字符串/ XML对象。
var jqInputs = $('input', nRow); //Get all inputs
var updatedValues = [];
jqInputs.each(function (idx) {
updatedValues.push($(this).val()); //Put values into array
});
//Get table columns
var cols = $('th').filter(function (index) {
return $(this).text() != "" && $(this).text() != "Edit";
});
var colnames = [];
//Get table column names and put into array
$.each(cols, function () {
colnames.push($(this).text());
});
//Build up XML and send to server
if (updatedValues.length == colnames.length) {
//******************************
//** IS THERE A BETTER WAY TO DO THIS?????**
//******************************
var xmlvalue;
for(var i = 0; i < updatedValues.length;i++)
{
xmlvalue = xmlvalue + '<' + colnames[i] + '>' + updatedValues[i] + '<\' + colnames[i] + '>'
}
socket.send('<Root>'+ xmlvalue +'<UserID>1</UserID></Root>');
}
答案 0 :(得分:1)
您可以使用e4x吗?如果是这样,xml是小菜一碟:
var xmlv = <Root />;
for(var i = 0; i < updatedValues.length;i++)
xmlv.appendChild(<{colnames[i]}>{updatedValues[i]}</{colnames[i]}>);
xmlv.appendChild(<UserID>1</UserID>);
socket.send(xmlv.toXMLString());