I'm having a problem with some RSS feed parsing using YQL and JavaScript. The code works fine as long as there is more than one result. The YQL output is returned as an array (JSON), and I can format it with a for loop. However, when there is only one result, YQL returns an object, and the parsing doesn't work. Any suggestions for a workaround? Been trying different approaches for hours, but to no avail.
<!DOCTYPE html>
<html lang="no">
<head>
<title>Kolonnekjøring.no</title>
<link href="css/bootstrap.css" rel="stylesheet">
<script src="http://yui.yahooapis.com/3.18.1/build/yui/yui-min.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- start collapsed navbar-->
<div class="navbar-header">
<button
type="button"
class="navbar-toggle collapsed"
data-toggle="collapse"
data-target="#main_navbar"
aria-expanded="false">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Kolonnekjøring.no</a>
</div>
<!-- / collapsed navbar-->
<!-- start un-collapsed navbar-->
<div
class="collapse navbar-collapse"
id="main_navbar">
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Aktive kolonner</a></li>
<li><a href="sor_norge.html">Fjelloverganger i Sør-Norge</a></li>
<li><a href="nord_norge.html">Fjelloverganger i Nord-Norge</a></li>
<li><a href="#">Om Kolonnekjøring.no</a></li>
</ul>
</div> <!-- / un-collapsed navbar-->
</div> <!-- /container -->
</nav>
<div class="container">
<h1>Aktive kolonner i Norge</h1>
<!-- start breadcrumb -->
<ol class="breadcrumb">
<li><a href="index.html">Aktive kolonner</a></li>
</ol>
<!-- / breadcrumb -->
<div class="row">
<div class="col-md-12" id="kolonnemeldinger"></div>
</div>
</div>
<script>
YUI().use('yql', function(Y){
var query = 'select * from rss where url = "http://www.vegvesen.no/trafikk/xml/search.rss?searchFocus.messageType=18&searchFocus.sortOrder=3"'
var q = Y.YQL(query, function(r){
//r now contains the result of the YQL Query as a JSON
var feedmarkup = '<p>'
var feed = r.query.results.item // get feed as array of entries
for (var i=0; i<feed.length; i++){
feedmarkup += '<h4>' + feed[i].title + '</h4>'
feedmarkup += feed[i].description + '</p>'
}
document.getElementById('kolonnemeldinger').innerHTML = feedmarkup
})
})
</script>
<!-- load JS -->
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<!-- / load JS -->
</body>
</html>