为什么这个代码不会解析我的xml文件

时间:2013-05-31 14:49:37

标签: jquery xml ajax

我有一个xml文件,我试图获取内容并放入一些HTML代码。我已经浏览了整个网络,以了解如何执行此操作和所有教程相同的事情,即使用ajax。这是我的xml和js的代码,但它不会工作。

XML

<packages>
    <package_1>
        <heading>Package 1</heading>
        <title>WALK OF SHAME</title>
        <nights>1 NIGHT</nights>
        <price>&euro;55</price>
        <content>blah blah blah</content>
    </package_1>
    <package_2>
        <heading>Package 2</heading>
        <title>BALLS TO THE WALL</title>
        <nights>1 NIGHT</nights>
        <price>&euro;72</price>
        <content>blah blah blah</content>
    </package_2>
    <package_3>
        <heading>Package 2</heading>
        <title>THE CHASE</title>
        <nights>1 NIGHT</nights>
        <price>&euro;65</price>
        <content>blah blah blah</content>
    </package_3>
</packages>

JS / jquery的

$.get('content/packages.xml', function(d){
    $(d).find('package_1').each(function(){  
        var $pack = $(this);   
        var title = $pack.find("title").text();  
        var content = $pack.find('content').text();
        $('#package-form').append('<h1>' + content + '</h1>');
    });
});

任何帮助都将非常感谢

1 个答案:

答案 0 :(得分:0)

您的代码不起作用的原因是因为$(d).find('package_1')仅匹配xml响应中的一个元素。如果您更改xml以回复

<packages>
    <package>
        <heading>Package 1</heading>
        <title>WALK OF SHAME</title>
        <nights>1 NIGHT</nights>
        <price>&euro;55</price>
        <content>blah blah blah</content>
    </package>
    <package>
        <heading>Package 2</heading>
        <title>BALLS TO THE WALL</title>
        <nights>1 NIGHT</nights>
        <price>&euro;72</price>
        <content>blah blah blah</content>
    </package>
    <package>
        <heading>Package 2</heading>
        <title>THE CHASE</title>
        <nights>1 NIGHT</nights>
        <price>&euro;65</price>
        <content>blah blah blah</content>
    </package>
</packages>

并将每个修改为$(d).find('package').each(..),也许你会得到你想要的东西。