Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.01.2014, 09:13
Интересующийся
Отправить личное сообщение для snake Посмотреть профиль Найти все сообщения от snake
 
Регистрация: 18.10.2013
Сообщений: 17

Парсирнг 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

Помогите написать правильно код.
Ответить с цитированием
  #2 (permalink)  
Старый 15.01.2014, 10:27
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

На вскидку:
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)
}
Ответить с цитированием
  #3 (permalink)  
Старый 15.01.2014, 11:14
Интересующийся
Отправить личное сообщение для snake Посмотреть профиль Найти все сообщения от snake
 
Регистрация: 18.10.2013
Сообщений: 17

Изменил код

<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
Ответить с цитированием
  #4 (permalink)  
Старый 15.01.2014, 13:00
Интересующийся
Отправить личное сообщение для snake Посмотреть профиль Найти все сообщения от snake
 
Регистрация: 18.10.2013
Сообщений: 17

Спасибо KRASOVSKY все получилось, разобрался
Ответить с цитированием
  #5 (permalink)  
Старый 15.01.2014, 14:24
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Ну и хорошо )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Построение дерева из xml файла palan ExtJS 0 10.04.2013 10:03
Редактирование xml файла Arka1m Internet Explorer 2 26.11.2011 15:12
Загрузка и обработка xml файла Visvitalis jQuery 0 26.09.2011 16:09
Сохранение файла XML zeraid Общие вопросы Javascript 2 12.05.2011 02:08
Как узнать какие ошибки произошли при парсинге xml файла faunder Events/DOM/Window 0 12.09.2008 14:17