2013-04-22 5 views
3

Прошу прощения, чтобы задать вопрос, относящийся к этой теме, поскольку кажется, что существует много, много тем, относящихся к одному и тому же вопросу. Я прочитал их довольно много, но мне не удалось найти проблему с моим кодом. У меня есть XML-файл, и я пытаюсь просто прочитать дочерний узел каждого атрибута (если это правильная терминология?).Прочтите xml с jQuery

XML-:

<movement> 
    <name>Squat</name> 
    <set> 
     <weight>270</weight> 
     <reps>5</reps> 
    </set> 
</movement> 

Мой код просто пытается прочитать имя атрибута каждого движения.

Javascript:

$(document).ready(function() 
{ 
    $.ajax({ 
     type: "GET", 
     url: "/training.xml", 
     dataType: "xml", 
     success: parseXml 
    }); 
}); 
function parseXml(xml) 
{ 
    $(xml).find("movement").each(function() 
    { 
     $("#training").append($(this).find("name").text() + "<br>"); 
    }); 
} 

Я нашел это через учебник онлайн и попытался изменить его просто добавить имя каждого движения к DIV на странице. В настоящее время он ничего не отображает. Я не вижу проблемы. Любая помощь будет оценена по достоинству.

Полный файл XML: pastebin.com/rthMWNhm

Полный HTML-файл: pastebin.com/6m9rBjRn

+0

вы уверены, что есть текст внутри ''

+0

Да. Я обновлю, чтобы включить именно то, что находится в файле XML. Извините за то, что вначале не было этого. – Blex

+0

что у вас есть работа? -http: //jsfiddle.net/mohammadAdil/FTawW/2/ –

ответ

-1

Это должно сделать трюк. Проблема в том, что вы уже находитесь на узле перемещения. Поиск только для детей. Каждая итерация будет перебирать каждый элемент движения.

Demo

Javascript

var parseXml = function(xml){ 
    var names = ''; 
    $(xml).find('movement name').each(function(i,name){ 
     names += name.innerHTML +'<br>'; 
    }); 
    $('#training').append(names); 
}; 


parseXml(xml); 

Обновленный ответ, чтобы соответствовать новому XML

+0

Почему я был ниспровергаем? –

+1

Еще не повезло. Во всех ответах вы просто делаете переменную с именем xml, а затем записываете ее вручную. Я начинаю думать, что именно так я ссылаюсь на свой XML-файл из файла HTML. Есть ли что-то особенное, что мне нужно сделать, чтобы получить данные с внешней страницы? – Blex

+0

Вы пробовали консоль, регистрируя xml из вашего вызова ajax? посмотреть, что такое строка? Я считаю, что это может быть вашей проблемой. Если ваш вызов является успешным, вы должны просто передать эту строку методу выше. Также проверьте свою вкладку в сети, посмотрите, есть ли у вас какие-либо ошибки :) –

Смежные вопросы