Comunidad de diseño web y desarrollo en internet online

Leer archivo HTML como XML

Citar            
MensajeEscrito el 13 Ago 2013 08:27 am
Hola a todos,

una duda, ¿podria declarar como variable XML un archivo HTML?.
Lo digo porque lo que quiero es leer datos que están dentro de un HTML y he pensado en hacerlo con las funciones que ofrece AS3 para leer XMLs.
Aunque no se si existe otro tipo de funciones que lean HTMLs directamente en AS3.

Me podriais ayudar???

Gracias por adelantado,
Ivan Lozano.

Por ivansat

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Ago 2013 04:46 pm
Puedes leerlo como XML (el HTML es una colección de etiquetas que cierran y abren) aunque puede que tengas problemas de parseo ya que hay muuuucho mas que etiquetas en un HTML standard .... la otra opción es cargarlo como texto, armando tu mismo el parseo, lo cual puede ser una tarea bastante complicada

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 18 Sep 2013 09:00 am
Muchas gracias Jorge por tu respuesta.

Esta duda me surgió al pensar en leer un archivo fuente de una direccion URL (formato HTML) para coger informacion de esa web.

No se si se os ocurre otra manera mas facil de hacerlo.
Ademas si una persona se entera que mi app esta accediendo al codigo fuente de su web un numero grande de veces, no pasaria nada???

Gracias y un saludo,
Ivansat

Por ivansat

5 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Sep 2013 12:13 pm
BuenAS:

Imagino que estás hablando de un swf alojado en una página web y no una app AIR.

Si quieres acceder a los recursos de otro dominio desde un swf vas a tener los mismos problemas que cuando se accede para cargar una imagen o un xml. Hay que configurar la política de seguridad y que básicamente consiste en alojar EN EL SERVIDOR al que vas a acceder un cross-domain.xml donde indiques la ubicación desde la que vas a acceder.

Si no se encuentra dicho xml debidamente configurado no te va a dejar cargar recursos de ese dominio.

Por otro lado, como dice Jorge, "en teoría" podrías cargar un XHTML correctamente formateado y tratarlo como un XML. Y fijate que digo un documento con las especificaciones XHTML y NO un HTML.

Es que,por ejemplo un HTML que no siga las especificaciones XHTML (la inmensa mayoría como por ejemplo esta página en la que estamos) te va a generar problemas al parsearlo. Símplemente con que se encuentre una etiqueta meta que no siga la especificación XHTML
Esto daría error

Código HTML :

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

Esto no daría error, fijate que he cerrado la etiqueta y ahora sí es un nodo xml válido

Código HTML :

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>

O por ejemplo utilizar atributos al estilo HTML5 en propiedades booleanas también te dará problemas como una etiqueta video que lleve activados los controles:

Código HTML :

<video src="video/video.mp4" controls />


Como te dice Jorge es casi mejor procesarlo como txt, eso sí, puedes recurrir a expresiones regulares para obtener los nodos. Internet está lleno de expresiones regulares de este tipo. Por ejemplo, estas te sirven para encontrar todas las imágenes que tenga la página, o todos los links:

Código ActionScript :

/<img.+?src="(.+?)".+?\/?>/gi
/<a.+?href="(.+?)".+?\/?>/gi

Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 07 Abr 2014 07:04 pm
Si lo haces para web, el mejor truco para saltar el sandbox, es usar php para consumir los datos de otro lado:
http://peakstudios.com/blog/2011/09/29/fixing-flash-player-and-externa-api-sandbox-issues-using-php-as3/

Con respecto al parsing, definitivamente necesitas hacerlo vos con RegExp o usando los metodos de la clase String, no conozco 1 archivo html que sea un XML valido.

Por rodrigolopezpeker

61 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.