I need to write a PhoneGap application (with HTML5 and JS, I don't need compatibility with IE) with AJAX so that it reads an RSS feed and looks up some specific information from it. The problem I'm having is that I have I don't the best way to do an RSS feed, and jQuery can't do XML. Any suggestions?
5 Answers
I recently made one using this tutorial : http://net.tutsplus.com/tutorials/javascript-ajax/how-to-build-an-rss-reader-with-jquery-mobile-2/

- 22,834
- 6
- 60
- 101
-
This option wouldn't work as an app via phone gap thought would it? Mainly down to the fact that this is a web app so can run php. – jimbo Aug 23 '11 at 13:45
-
It works fine through PhoneGap. There's no problem running PHP with it. – Jivings Aug 24 '11 at 12:40
-
I don't actually know, I stay away from iPhone development. But the use of PHP in that tutorial should be easily possible in simple JavaScript. – Jivings Aug 26 '11 at 10:13
-
It would be great if someone could do this in javascript, as it would be just what I need... – jimbo Aug 31 '11 at 08:03
-
1Coming in more than a year later - PHP isn't actually needed to run on the iPhone, it runs on a separate web server, which the iPhone talks to. – Dhaivat Pandya Nov 14 '12 at 01:46
I have just made a phonegap application that parses an external RSS feed using jFeed. I'll give you an example:
First, I include the following Java scripts in my index.html file:
<head>
...
<script type="text/javascript" src="phonegap-1.0.0.js"></script>
<script type="text/javascript" src="jquery/jquery-1.6.4.js"></script>
<script type="text/javascript" src="jquery.mobile/jquery.mobile-1.0b3.min.js"></script>
<script type="text/javascript" src="jquery.jfeed/dist/jquery.jfeed.js"></script>
<script type="text/javascript" src="scripts/my.js"></script>
...
</head>
Then, in my.js
I use the following:
parseFeed();
function parseFeed() {
$.getFeed({
url: 'http://someUrl.com',
dataType: "xml",
success: function(feed) {
$('#feedresult').empty();
var html = '<ul data-role="listview">';
for(var i = 0; i < feed.items.length; i++) {
var item = feed.items[i];
html += '<li>'
+ '<a href="#article?id='
+ i
+ '">'
+ item.title
+ '</a>'
+ '</li>';
}
html = html + '</ul>';
$('#feedresult').append(html);
$('#main').page('destroy').page();
}});
};
The code then creates a listview (jQuery mobile) in my #feedresult div where each entry represents a feed item. As phonegap utilizes some sort of web view that loads all content using the file:/// protocol ( http://groups.google.com/group/phonegap/browse_thread/thread/b60bda03bac6e9eb ), there is no issue in doing cross domain XMLHttpRequest from phonegap.

- 10,205
- 7
- 50
- 79
This question is old, but can be helpful to solve it in 2014 ;-).
I test many jQuery plugin to include a RSS reader, but the only this work like a charme in 1mn is zrssfeed
Just add the call (after call jquery and jquery mobile) in the header:
<script type="text/javascript" src="jquery.zrssfeed.min.js"></script>
And after start th jquery call like this :
<script type="text/javascript">
$(document).ready(function () {
$('#feedresult').rssfeed('http://my.wordpress.website.com/feed/', {
limit: 5
});
});
</script>
I hope this help, Mike

- 700
- 9
- 20
What You mean jQuery can't do XML. jQuery is JavaScript and jQuery uses XMLHttpRequest
while doing Ajax calls. See the name XML*
. See: http://api.jquery.com/jQuery.ajax/. There is dataType
param. You can pass xml
to it. After that You will get dom object with all dom object methods.
You can event use it as second param to jQuery's selectors:
jQuery.get(url, {}, function (data) {
var entries = $("entry", data);
doSomething(entries);
}, 'xml');

- 4,249
- 1
- 20
- 12
-
Jquery does a very bad of "parsing" HTML, it just makes the .innerHTML of a tag. – Dhaivat Pandya Jun 26 '11 at 16:59
-
First of all I am not trying to be offensive, but define "bad". Of course it is a little bit hacky, but is it slow? Because when I am using some library the only two things that interests me is: api and speed. I have no benchmarks or something that says jQuery method is fast. It is just general curiosity. – petraszd Jun 26 '11 at 19:32
-
Its bad because it interprets XML as HTML which is very dangerous, because not all valid XML is valid HTML. – Dhaivat Pandya Jun 28 '11 at 09:08
One option would be to use a RSS-to-JSON pipe, like this one here: http://pipes.yahoo.com/pipes/pipe.info?_id=2FV68p9G3BGVbc7IdLq02Q

- 9,938
- 3
- 30
- 48
-
I'm a little scared to use something that doesn't have any development activity. – Dhaivat Pandya Jun 26 '11 at 12:27
-
It is definitely worth a try, and since its open-source, you can always fix any issues you find. – sparkymat Jun 26 '11 at 12:29