2013-05-31 60 views
0

我有一个xml文件,我试图获取内容并放入一些html代码。我已经浏览了整个网络,以了解如何做到这一点,所有的教程都是一样的,就是使用ajax。这是我的代码为XML和JS,但它只是不会工作。为什么不会这段代码解析我的xml文件

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>'); 
    }); 
}); 

这里任何帮助,将不胜感激

+0

您可能需要指定“xml”作为AJAX返回数据类型 – landons

回答

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(..)也许你会得到你所期待的。

+0

感谢您的答复,但我担心这种方法也无法工作 –