Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Como leer hipervínculos xml desde js...???

Estas en el tema de Como leer hipervínculos xml desde js...??? en el foro de Frameworks JS en Foros del Web. Hola todos: por favor (ya que no se permite el envío del ejemplo para la pregunta) ¿Como se define un enlace en un archivo xml ...
  #1 (permalink)  
Antiguo 19/06/2009, 04:36
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Como leer hipervínculos xml desde js...???

Hola todos:

por favor (ya que no se permite el envío del ejemplo para la pregunta)

¿Como se define un enlace en un archivo xml y se muestra desde javascript?

Un saludo
  #2 (permalink)  
Antiguo 19/06/2009, 09:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 8 meses
Puntos: 839
Respuesta: Como leer hipervínculos xml desde js...???

¿Podrías poner un ejemplo del formato que tiene tu XML y qué parte necesitas leer?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 22/06/2009, 02:44
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como leer hipervínculos xml desde js...???

Hola:

Ya he superado el problema: Resulta que he creado una tabla xml en la que en la primera columna defino el texto del enlace y en la segunda columna el hipervínculo.
Me recorro la tabla con un bucle de javascript pero a la hora de presentar la información en pantalla no me dejaba asociar la columna de texto al hipervinculo.
Finalmente me dí cuenta de que podía generar la presentación leyendo el registro y asociando el texto al href, en la misma línea.

enl=x[g].getElementsByTagName("enlace")[0].childNodes[0].nodeValue;
cent=x[g].getElementsByTagName("centro")[0].childNodes[0].nodeValue;
document.write("<a href='../ enl+"/arbol_1.html' style='cursor:pointer' target='_parent' onfocus='this.blur()'>"+cent+"</a>");
document.write("</td><td>");

teniendo en el xml, como ya he indicado una columna con enlace y otra con texto.

Ahora me encuentro con que no puedo ordenar las columnas con hipervínculos (me las ordena pero mal), pero sí las de texto simple (correctamente).

El algoritmo de ordenación que utilizo es:

var table=function(){
function sorter(n){
this.n=n; this.t; this.b; this.r; this.d; this.p; this.w; this.a=[]; this.l=0
}
sorter.prototype.init=function(t,f){
this.t=document.getElementById(t);
this.b=this.t.getElementsByTagName('tbody')[0];
this.r=this.b.rows; var l=this.r.length;
for(var i=0;i<l;i++){
if(i==0){
var c=this.r[i].cells; this.w=c.length;
for(var x=0;x<this.w;x++){
if(c[x].className!='nosort'){
c[x].className='head';
c[x].onclick=new Function(this.n+'.work(this.cellIndex)')
}
}
}else{
this.a[i-1]={}; this.l++;
}
}
if(f!=null){
var a=new Function(this.n+'.work('+f+')'); a()
}
}
sorter.prototype.work=function(y){
this.b=this.t.getElementsByTagName('tbody')[0]; this.r=this.b.rows;
var x=this.r[0].cells[y],i;
for(i=0;i<this.l;i++){
this.a[i].o=i+1; var v=this.r[i+1].cells[y].firstChild;
this.a[i].value=(v!=null)?v.nodeValue:''
}
for(i=0;i<this.w;i++){
var c=this.r[0].cells[i];
if(c.className!='nosort'){c.className='head'}
}
if(this.p==y){
this.a.reverse(); x.className=(this.d)?'asc':'desc';
this.d=(this.d)?false:true
}else{
this.p=y; this.a.sort(compare); x.className='asc'; this.d=false
}
var n=document.createElement('tbody');
n.appendChild(this.r[0]);
for(i=0;i<this.l;i++){
var r=this.r[this.a[i].o-1].cloneNode(true);
n.appendChild(r); r.className=(i%2==0)?'even':'odd'
}
this.t.replaceChild(n,this.b)
}
function compare(f,c){
f=f.value,c=c.value;
var i=parseFloat(f.replace(/(\$|\,)/g,'')),n=parseFloat(c.replace(/(\$|\,)/g,''));
if(!isNaN(i)&&!isNaN(n)){f=i,c=n}
return (f>c?1:(f<c?-1:0))
}
return{sorter:sorter}
}();

Con la llamada:

var sorter=new table.sorter("sorter");
sorter.init("centros",1);

Teniendo una lista xml de unas 20 columnas.

Gracias por el interes.
  #4 (permalink)  
Antiguo 24/06/2009, 02:57
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como leer hipervínculos xml desde js...???

Hola a tod@s:

Nada... que no doy con la coña esta. No consigo ordenar los hipervínculos del xml desde la rutina anterior:

El texto lo tengo en un registro y el vínculo en el otro, lo que quiero es ordenar la primera columna con respecto a la segunda, para que en pantalla me salga y se ordene el texto relacionado.

no tengo ni pajolera por donde cojerlo.

¿alguna idea?

Última edición por gallegoindomito; 24/06/2009 a las 03:22 Razón: mal expresado
  #5 (permalink)  
Antiguo 31/07/2009, 00:08
 
Fecha de Ingreso: junio-2009
Mensajes: 9
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Como leer hipervínculos xml desde js...???

Bueno, pues despues del quebranto he alineado en la misma celda el texto y un icono de pulsación para el hipervínculo, de tal manera que me las ordena bien. Quedan demasiado iconitos y tal, y un poco descolocados ,(no atienden el margin y el padding), pero es lo que hay. Ya sabeis: en la misma celda nombre de enlace e icono después para lanzar el enlace, y con esto consigo poder ordenar la tabla.

Un saludo a todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:48.