3

我很抱歉提出与此主题相关的问题,因为似乎有很多很多主题与同一主题相关。我已经阅读了相当多的内容,但我无法找到我的代码的问题。我有一个 XML 文件,我试图读取每个属性的一个子节点(如果这是正确的术语?)。

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

4

1 回答 1

-1

这应该可以解决问题。问题是您已经在移动节点。查找仅搜索儿童。每次迭代将迭代每个运动元素。

演示

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 的答案

于 2013-04-22T16:03:39.237 回答