Парсирнг xml файла
Добрый день.
Есть xml файл следующего вида: <?xml version="1.0"?> <history> <tag name = "temp1"> <point time = "01/01/13 23:24:25">23.5</point> <point time = "02/01/13 23:24:25">27.7</point> <point time = "03/01/13 23:24:25">35.8</point> </tag> <tag name = "temp2"> <point time = "01/05/13 23:24:25">50.7</point> <point time = "01/06/13 23:24:25">50.3</point> </tag> </history> P.S <tag name = ""> и <point time = ""></point> может быть n-ое количество Парсю xml файл следующим образом и получаю ответ виде таблицы: <script> document.write("<table border='1' cellpadding='0' cellspacing='0' border='0'"); document.write("<tr><td><div id='output'></div></td>"); document.write("<td><div id='outputs'></div></tr></td>"); document.write("</table>"); </script> <script type="text/javascript"> $(document).ready(function(){ $.ajax({ type: "GET", dataType: "xml", url: "data.xml", success: function(xml){ $(xml).find("point").each(function(){ $("#output").append($(this).attr("time") + "<br />"); $("#outputs").append($(this).text() + "<br />"); }); } }); }); </script> Получаю ответ: 01/01/13 23:24:25 23.5 02/01/13 23:24:25 27.7 03/01/13 23:24:25 35.8 01/05/13 23:24:25 50.7 01/06/13 23:24:25 50.3 Вопрос как распарсить xml, чтобы получить ответ виде таблицы 01/01/13 23:24:25 temp1 23.5 02/01/13 23:24:25 temp1 27.7 03/01/13 23:24:25 temp1 35.8 01/05/13 23:24:25 temp2 50.7 01/06/13 23:24:25 temp2 50.3 Помогите написать правильно код. |
На вскидку:
success: function(xml){ var data = $(cml); var table = $('<table>'); $(data,'point').each(function() { var tag= $(this).parent(); var tr = $('<tr>'); tr.append('<td>'+$(this).attr('time')+'</td>'); tr.append('<td>'+tag.attr('name ')+'</td>'); tr.append('<td>'+$(this).text()+'</td>'); table.append(tr); }); $('body').append(table) } |
Изменил код
<script type="text/javascript"> $(document).ready(function(){ $.ajax({ type: "GET", dataType: "xml", url: "data.xml", success: function(xml){ var data = $(xml); var table = $('<table border="1" cellpadding="0" cellspacing="0" border="0">'); $(data,'point').each(function() { var tag= $(this).parent(); var tr = $('<tr>'); tr.append('<td>'+$(this).attr('time')+'</td>'); tr.append('<td>'+tag.attr('name')+'</td>'); tr.append('<td>'+$(this).text()+'</td>'); table.append(tr); }); $('body').append(table); } }); }); </script> Выдает ответ: undefined undefined 23.5 27.7 35.8 50.7 50.3 |
Спасибо KRASOVSKY все получилось, разобрался :D
|
Ну и хорошо )
|
Часовой пояс GMT +3, время: 11:06. |