As stated in my comment, doing this with `=importXML` and XPath seems tricky. But doing it programmatically, using the [XmlService](https://developers.google.com/apps-script/reference/xml-service/xml-service) of [Google Apps Script](https://developers.google.com/apps-script/), looks easier. I have written the following: function parseTvRageXml(url) { var result = []; var xml = UrlFetchApp.fetch(url).getContentText(); var document = XmlService.parse(xml); var root = document.getRootElement(); var show = document.getRootElement(); var episodeList = show.getChild("Episodelist"); var seasons = episodeList.getChildren("Season"); for (var i = 0; i < seasons.length; i++) { var season = seasons[i]; var seasonNum = season.getAttribute("no").getValue(); var episodes = season.getChildren("episode"); for (var j = 0; j < episodes.length; j++) { var episode = episodes[j]; var resultRow = []; resultRow.push(seasonNum); resultRow.push(episode.getChild("epnum").getText()); resultRow.push(episode.getChild("seasonnum").getText()); resultRow.push(episode.getChild("airdate").getText()); resultRow.push(episode.getChild("link").getText()); resultRow.push(episode.getChild("title").getText()); result.push(resultRow); } } return result; } In effect, it fetches the content from the given URL, parses it as XML, and iterates through the elements, extracting values of the elements you wanted, which is stored in a 2-dimensional array (`result`), and returned. To use this, you must install the script in your spreadsheet. Click the _Tools_ menu → _Script editor_, and paste the code listed above. Save the script. In the cell where you want the output, enter =parseTvRageXml("http://services.tvrage.com/feeds/episode_list.php?sid=3183") The result should be a list of episodes, with the following columns: Season number | epnum | seasonnum | airdate | link | title I have set up [an example spreadsheet](https://docs.google.com/spreadsheets/d/1qFryUlGfGT8dp_lx9sSE_7suCV0t8cAg9btM1AOPnSI/edit?usp=sharing) to demonstrate this, feel free to copy it.