Foros del Web » Programando para Internet » Javascript »

Lectura de atributo XML desde JS

Estas en el tema de Lectura de atributo XML desde JS en el foro de Javascript en Foros del Web. Hola a tod@s ... estoy realizando un script que lea un documento XML u recoja el valor de una serie de etiquetas y atributos para ...
  #1 (permalink)  
Antiguo 14/07/2010, 05:51
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 7 meses
Puntos: 0
Lectura de atributo XML desde JS

Hola a tod@s ...

estoy realizando un script que lea un documento XML u recoja el valor de una serie de etiquetas y atributos para después utilizarlas ...

el caso es que para acceder a un atributo concreto de una etiqueta uso la siguiente intrucción:
Código:
...
var itemPic=items[i].getElementsByTagName('media:thumbnail').item(0).getAttribute('url';
...
y en principio funciona , pero como resulta que ese atributo es opcional y algunos items no lo tienen, pues cuando esto ocurre, el script deja de funcionar y produce un error ..

¿ Cómo podría comprobar previamente la existencia de dicho atributo ... ?

Gracias a tod@s .....
  #2 (permalink)  
Antiguo 14/07/2010, 06:45
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años
Puntos: 126
Respuesta: Lectura de atributo XML desde JS

Hola

No estoy nada seguro puesto que no he trabajado casi que nada con XML. ¿Haciendo una condicional a null?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 14/07/2010, 07:04
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Lectura de atributo XML desde JS

eso ya lo probé, pero no me funciona, al acceder a un tag sin ese atributo, el script se detiene ...

salu2.
  #4 (permalink)  
Antiguo 14/07/2010, 09:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años, 6 meses
Puntos: 834
Respuesta: Lectura de atributo XML desde JS

Bieno, supongo que olvidaste el paréntesis en lo que escribiste pero que lo tendrás correctamente en tu script. Una solución sencilla:
Código PHP:

var itemPic=items[i].getElementsByTagName('media:thumbnail').item(0).getAttribute('url') || ""
  #5 (permalink)  
Antiguo 14/07/2010, 12:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Lectura de atributo XML desde JS

Gracias por tu colaboración .. pero el caso es que esa propuesta tampoco me funciona ....

al final lo he arreglado de una forma un poquito más laboriosa:

Código:
var itemAttr = items[i].getElementsByTagName('media:thumbnail');
		if (itemAttr.length)
			var itemPic = items[i].getElementsByTagName('media:thumbnail').item(0).getAttribute('url');
		else
			var itemPic = null;
yo creo que así está correcto ... a ver que os parece ...

un saludo ... y gracias de nuevo.
  #6 (permalink)  
Antiguo 14/07/2010, 15:06
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Lectura de atributo XML desde JS

me parece a mi, lo que realmente fallaba no era el obtener el atributo sino que no se encontraba ningún elemento media:thumbnail. lo asumo porque en el condicional estas comprobando la longitud de la colección. en todo caso, en lugar del script detenerse o generar error, getAttribute devuelve null cuando el atributo no existe en el elemento y continua normal.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 15/07/2010, 02:18
 
Fecha de Ingreso: mayo-2008
Mensajes: 18
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Lectura de atributo XML desde JS

es cierto, realmente no me expliqué bien (lo siento) el problema es que el elemento media:thumbnail ... es opcional, por lo que falla ba cuando intentaba leerlo y este no existía ...

por otro lado, una vez solucionado este problema, ahora me aparece otro ...

resulta que el sentido de este script es el de leer el documento xml del Rss de una web (diario marca en concreto) y en principio ya me funciona más o menos bien ...

http://estaticos.marca.com/rss/portada.xml

pero ahora resulta que cuando quiero adaptarlo a otros rss (por ejemplo cadenaser) no puedo acceder al documento xml directamente sino que es la dirección :

http://www.cadenaser.com/rss/feed.html?feedId=100

y no puedo comprobar los elementos a los que he de acceder con el script ...

Imagino que estos serán más o menos algo estámdar ya que la mayoría me funcionan (title, description, ... ) pero los referentes a las imágenes no ....

alguien sabe cómo conocer los elemento de un feed particular para acceder a ellos ??


Un saludo y gracias de nuevo.

Etiquetas: js, lectura, xml, atributos
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 03:27.