Skip to main content

Using jQuery to parse an xml feed and create a bullet list

This one's really simple, but I end up using it a lot so why not post it?

Say you need to display an xml news feed on a site. I needed to. So I looked at how to do it with PHP, and it seemed far more over-complicated than need be for something so simple.

One again jQuery comes to the rescue. If you're not familiar with jQuery, it's a javascript library that makes javascript actually pleasant to use. I used to avoid javascript because of cross-browser issues, and everything always seemed more difficult than it needed to be. jQuery fixes all that.

The code snippet below uses jQuery to grab the XML feed, go through each item in the feed and output a simple bullet list of linked titles. Should be easy to adapt it to whatever your needs may be. Just be sure you also have the jQuery library set up on what page you use it on. It also uses a <ul id="theBox"> to put the bullet items in.


$(document).ready(function(){

var theBox = "";

$.get('XML URL HERE', {}, function(xml){
$('item',xml).each(function(){
theBox += "<li><a href=\"" +
$(this).find("link").text() + "\">" +
$(this).find("title").text() +
"</a></li>";

});
$('ul#theBox').html(theBox);
});

});

Comments

Popular posts from this blog

Security Tips - Passwords and Logins

Passwords are something we all have to live with. There are other authentication methods slowly coming into use (i.e. two-factor) but it's hard to see passwords going away anytime soon. I assume everyone knows the basics - use "good" passwords, don't share them between sites, don't write them on a sticky note on your desk, don't save them in a file named "passwords.txt" on your computer, etc etc. That's all well and good, but there's so much more you can do! Good Passwords A "good" password is hard to guess, is what we're told. I think most people are unclear about what exactly "guess" means. These days, it means that it needs to be resistant to password cracking attacks that are getting ever more fast and sophisticated. Just making sure that you have numbers, characters, upper/lower case, etc isn't enough. The gold standard most important thing about a password is that it is long . The longer the better.

Another VI tip - using macros, an example

God I love VI. Well, actually, vim but whatever. Here's another reason why. Suppose you need to perform some repetitive task over and over, such as updating the copyright date in the footer of a static website. (Yes, yes I know you could do a javascript thing or whatever, just bear with me.) Of course you could just search and replace in some text editor, changing "2007" to "2008" (if you're stupid) - and you'll end up with a bunch of incorrect dates being changed, most likely. What you need to do is only change that date at the bottom. And suppose that because of the formatting, you can't use the "Copy" part of the string in a search replace - perhaps some of the pages use "©", some spell out "Copyright" etc. This is where vi macros come in handy. A macro in vi is exactly what you expect, it records your actions and allows you to play them back. To start recording, press q followed by a character to use to "stor

Debugging a DOS

I'm not a sysadmin, but I end up doing my best now and then when one of my sites gets into trouble. This is a sort of "after action report" of an incident that I just resolved (hopefully). I woke up and happened to check email on my phone (don't always do this, will now) and was greeted with a uptime robot email that one of my sites was down, and had been for about 4 hours. I quickly checked the site on my phone and yup, it wasn't loading. Ran to the office and hopped on my laptop. SSH to the server, and everything seems fine. Very little load on the server (AWS instance). Did a restart of apache/php/mysql and the site is still down. Weird. Running the site's index.php file on the command line works as expected and fast. Ask a few other people to check, and it's down for them. Then I logged into the AWS console and checked on status there - everything is up and running.... WTF? This is a lightsail instance, and then I noticed the outgoing network traffic h