El codigo que has cogido imagino que lo habras copiado del ejemplo cuando me ayudaste a cargar simplemente el XML sin el array que puse para PROYECTOS y otro para NOTICIAS.
Hace mas de dos semanas que puse el codigo con el que trabajamos para sacar informacion con array y no funcionaba:
Código Javascript
:
Ver original$.ajax({
type: "GET",
url: "xml/trabajos.xml",
async: false,
dataType: "text",
success: function(data) {
function stringToDoc(s) {
var xml;
if (window.ActiveXObject) {
xml = new ActiveXObject('Microsoft.XMLDOM');
xml.async = 'false';
xml.loadXML(s);
return xml;
}
else
xml = (new DOMParser()).parseFromString(s, 'text/xml');
return (xml && xml.documentElement && xml.documentElement.tagName
!= 'parsererror') ? xml : null;
};
xml = stringToDoc(data);
items = new Array(4);
items[0] = "web";
items[1] = "multimedia";
items[2] = "movil";
items[3] = "erp";
items.each(function(web){
$(xml).find(web).each(function(){
imagen = $(this).find('imagen').text()
info = $(this).find('info').text()
emp = $(this).find('empresa').text()
tecno = $(this).find('tecnologia').text()
miniatura = $(this).find('miniatura').text()
proyecto = $(this).find('proyecto').text()
s_web = '<li><a href="'+imagen+'" rel="prettyPhoto[web]" title="<strong>'+proyecto+'</strong><br/>'+emp+'<br/>'+info+'<br/>'+tecno+'"><img src="'+miniatura+'" class="imagen_hover"></a></li>';
$(".web").append(s_web)
}) // fin de each
}) // fin del each por categorias
error: function(avisoErrorProyecto) {
alert("No ha sido posible cargar los datos. Por favor, intentelo mas tarde.");
}
}) // fin de llamada ajax
}
Estoy trabajando con PROYECTOS ya que las secciones "web", "multimedia", "movil" y "erp" corresponden a este tema (por asi decirlo). Por lo tanto no hay divisor para noticias y lo he adaptado para PROYECTOS.
El codigo de jQuery a ACTUAL es el siguiente:
Código Javascript
:
Ver original//INICIO DE LAS FUNCIONES CORRESPONDIENTES //
$(document).ready(aplicaciones)
function aplicaciones(){
// Carga del XML en AJAX
$.ajax({
type: "GET",
url: "xml/trabajos.xml",
async: false,
dataType: "text",
success: function(data) {
function stringToDoc(s) {
var xml;
if (window.ActiveXObject) {
xml = new ActiveXObject('Microsoft.XMLDOM');
xml.async = 'false';
xml.loadXML(s);
return xml;
}
else
xml = (new DOMParser()).parseFromString(s, 'text/xml');
return (xml && xml.documentElement && xml.documentElement.tagName
!= 'parsererror') ? xml : null;
};
xml = stringToDoc(data);
var items = ["web","multimedia","movil","erp"];
$.each(items, function(index, value){
$(xml).find(value).each(function(){
imagen = $(this).find('imagen').text()
info = $(this).find('info').text()
emp = $(this).find('empresa').text()
tecno = $(this).find('tecnologia').text()
miniatura = $(this).find('miniatura').text()
proyecto = $(this).find('proyecto').text()
s_web = '<li><a href="'+imagen+'" rel="prettyPhoto[web]" title="<strong>'+proyecto+'</strong><br/>'+emp+'<br/>'+info+'<br/>'+tecno+'"><img src="'+miniatura+'" class="imagen_hover"></a></li>';
$(".web").append(s_web)
}) // fin de each xml
}) // fin de each de categoria
}
}) // fin de llamada ajax
} // fin de llamada dom ready
La idea es colocar cada seccion en cada <ul> ya que lo que habra dentro seran elementos <li> con la informacion. Es mas correcto asi, por lo menos a mi parecer.
Espero que no te hagas un lio con todo este rollo que he escrito.