从xml响应绑定jquery数据表

时间:2014-02-10 11:41:22

标签: jquery jquery-datatables

我的网络服务有一个XML响应:

<TABLE>
<ROW>
<ID>1</ID>
<SEARCHKEY>XYZ</SEARCHKEY>
<SUBURB>XYZ</SUBURB>
<RATING>NA</RATING>
<DELIVERY>sss</DELIVERY>
<STATE>XYS</STATE>
<POSTCODE>1234</POSTCODE>
</ROW>
<ROW>
<ID>2</ID>
<SEARCHKEY>XYZ</SEARCHKEY>
<SUBURB>XYZ</SUBURB>
<RATING>NA</RATING>
<DELIVERY>sss</DELIVERY>
<STATE>XYS</STATE>
<POSTCODE>1234</POSTCODE>
</ROW>
</TABLE>

现在我想使用上面的XML绑定我的jquery数据表。现在我正在将这个xml转换为datatable,然后像这样迭代每一行:

                         <tbody>
                    @foreach (DataRow row in Model.dataGrid.Rows)
                    {
                        <tr >
                            @foreach (DataColumn col in Model.dataGrid.Columns)
                            {  
                                <td >@row[col.ColumnName]</td> 
                            }
                        </tr> 
                    }
                 </tbody>

我没有找到我的解决方案非常合适。我怎么能直接绑定它?所以结果会是这样的: enter image description here

我应该先将此XML转换为json吗?然后绑定? 请建议我一个有效的解决方案。谢谢

1 个答案:

答案 0 :(得分:0)

我已将XML转换为数组,然后将其绑定到datatable。 这是我的解决方案,我希望它可以帮助面临同样问题的人:)

$.ajax({
url: "/echo/xml/",
data: data,
type: "POST",
success: function (response) {

    var $events = $(response).find("ROW");
    $events.each(function (index, event) {
        var $event = $(event),
            addData = [];
        $event.children().each(function (i, child) {
            addData.push($(child).text());
        });

        thisTable.fnAddData(addData);
    });
}
});