Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery读取xml_Javascript_Jquery_Xml_Parsing - Fatal编程技术网

Javascript 使用jquery读取xml

Javascript 使用jquery读取xml,javascript,jquery,xml,parsing,Javascript,Jquery,Xml,Parsing,很抱歉,我要问一个与这个主题相关的问题,因为似乎有很多很多主题都与同一主题相关。我已经阅读了相当多的代码,但是我还没有找到代码的问题。我有一个XML文件,我试图只读取每个属性的子节点(如果这是正确的术语?) XML: <movement> <name>Squat</name> <set> <weight>270</weight> <reps>5</reps&g

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

XML:

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

蹲下
270
5.
我的代码只是试图读取每个运动的name属性

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>");
    });
}
$(文档).ready(函数()
{
$.ajax({
键入:“获取”,
url:“/training.xml”,
数据类型:“xml”,
成功:parseXml
});
});
函数解析xml(xml)
{
$(xml).find(“movement”).each(function()
{
$(“#training”).append($(this).find(“name”).text()+“
”); }); }
我通过在线教程发现了这一点,并试图对其进行修改,以便将每个动作的名称添加到页面上的div中。目前它没有显示任何内容。我看不出这个问题。任何帮助都将不胜感激

完整XML文件:pastebin.com/rthMWNhm


完整的HTML文件:pastebin.com/6m9rBjRn

这应该可以做到。问题是您已经处于移动节点。仅查找搜索子对象。每次迭代将迭代每个运动元素

Javascript

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


parseXml(xml);
var parseXml=函数(xml){
变量名称=“”;
$(xml).find('movement name')。每个(函数(i,name){
names+=name.innerHTML+'
'; }); $(“#培训”)。追加(姓名); }; parseXml(xml);

更新答案以适应新的xml

您确定在
中有文本吗是的。我将进行更新,以准确地包含XML文件中的内容。很抱歉一开始没有包括在内。你的工作还不错——仍然没有运气。在所有的响应中,你们只需要创建一个名为xml的变量,然后手动写入它。我开始认为这是我从HTML文件引用XML文件的方式。要从外部页面获取数据,我需要做什么特殊的事情吗?您是否尝试过将ajax调用中的xml记录到控制台日志中?看到绳子是什么了吗?我相信这可能是你的问题。如果调用成功,您应该能够将该字符串传递给上面的方法。同时检查网络选项卡,查看是否有任何错误:)只需在parseXml函数中的第一件事是提醒/控制台记录xml。让我们知道它是什么:)未捕获引用错误:未定义xml main.html:32 XMLHttpRequest无法加载file:///C:/Users/Alex/Desktop/Website/training.xml. 访问控制允许原点不允许原点为null。main.html:1ajax错误:ERROR,它给了我一堆我以前从未见过的错误/一堆我从未遇到的问题。我以前使用过bootstrap和jQuery,但由于某些原因,我想这个页面找不到jQuery语法……而“C:/Users/Alex/Desktop/Website/training.xml”是您的xml文件的确切位置?