2016-01-08 82 views
0

我坚持使用xml字符串编写。基本上我有一个表,包含一些行。如果我点击提交,我们需要显示XML格式化字符串像下面将表格数据转换为xml结构格式?

<OrderSummaryIDs> 
<Count>2</Count> 
<Row> 
    <StartDate>08/01/2015</StartDate> 
    <EndDate>12/01/2015</EndDate> 
    <remark/>Test1</remark> 
</Row> 
</OrderSummaryIDs> 

我用下面的代码试过,它不返回XML结构格式,

这里是我的代码

var xmlStart = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"; 
var xml = xmlStart; 
var xmlFirstRowSet = "<OrderSummaryIDs>"; 
var xmlLast="</OrderSummaryIDs>"; 

xmlFirstRowSet = xmlFirstRowSet; 
var headerRowSet=''; 
var bodyRowSet =''; 

var elements = $(".mutliple tr"); 
var size = elements.size(); 
    bodyRowSet = bodyRowSet + "<Count>" + size + "</Count>"; 

bodyRowSet = bodyRowSet + "<Row>"; 
elements.each(function() {  
     var tdValue1 = $td.closest('table').find('td:first-child').html();   
     bodyRowSet = bodyRowSet + "<StartDate>";   
     bodyRowSet = bodyRowSet + tdValue1; 
     bodyRowSet = bodyRowSet + "</StartDate>"; 

     /*var tdValue2 = $td.closest('table').find('td:eq(1)').html(); 
     bodyRowSet = bodyRowSet + "<EndDate>";   
     bodyRowSet = bodyRowSet + tdValue2; 
     bodyRowSet = bodyRowSet + "</EndDate>"; 

     var tdValue3 = $td.closest('table').find('td:last-child').html(); 
     bodyRowSet = bodyRowSet + "<remark>";   
     bodyRowSet = bodyRowSet + tdValue3; 
     bodyRowSet = bodyRowSet + "</remark>";*/ 
}); 

bodyRowSet = bodyRowSet + "</Row>"; 
    xml = xmlStart + xmlFirstRowSet + bodyRowSet+xmlLast; 
alert(xml); 

Fiddle

回答

1

试试这个:

var elements = $(".mutliple tr"); 
var xml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>"; 
xml += '<OrderSummaryIDs><Count>' + elements.length + '</Count>'; 
elements.each(function() {  
    var tdValue1 = $(this).find('td:first-child').html();   
    xml += "<row><StartDate>" + tdValue1 + "</StartDate>"; 
    // 
    // 
    // 
    xml += '</row>'; 
} 
xml += '</OrderSummaryIDs>'; 
alert(xml); 
+0

它工作吗? – Vegeta

+0

谢谢,它工作正常,解决了问题! – Rajasekhar