Skip to content

Instantly share code, notes, and snippets.

@internoma
Last active January 27, 2016 00:40
Show Gist options
  • Save internoma/428380508ca1119af882 to your computer and use it in GitHub Desktop.
Save internoma/428380508ca1119af882 to your computer and use it in GitHub Desktop.
XML2ARRAY jQuery
<?xml version="1.0" encoding="UTF-8" ?>
<banners>
<entry>
<name>EEUU: PIB 1T15 adelantado +0,2% vs. +1,0% esperado y +2,2% anterior</name>
<idp>153</idp>
<url>javascript:;</url>
</entry>
<entry>
<name>Red Eléctrica: Beneficio neto 1T +4,7% apoyado por aumento de la cifra de negocio, especialmente en telecomunicaciones</name>
<idp>200</idp>
<url>javascript:;</url>
</entry>
<entry>
<name>BBVA: Beneficio neto se dispara en 1T apoyado por plusvalías de la venta de participación en CNCB</name>
<idp>23</idp>
<url>javascript:;</url>
</entry>
</banners>
<!DOCTYPE html>
<html lang="es-ES">
<head>
<meta charset="UTF-8">
<title>XML2ARRAY</title>
</head>
<body>
<div id="content"></div>
<script src="jquery-2.2.0.min.js"></script>
<script>
jQuery.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) {
// Creamos el objeto con los campos news, idp, url
var dataObject = { news: [], idp: [], url: [] };
$xml = jQuery(xml);
var news = $xml.find('banners').find('entry').find('name').toArray();
var idp = $xml.find('banners').find('entry').find('idp').toArray();
var url = $xml.find('banners').find('entry').find('url').toArray();
news.forEach(function(item, i) {
dataObject.news.push(news[i].textContent);
dataObject.idp.push(idp[i].textContent);
dataObject.url.push(url[i].textContent);
// para debug
jQuery('#content').append('<p><a id="' + idp[i].textContent + '" href="' + url[i].textContent + '">' + news[i].textContent + '</a></p>');
});
}
});
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment