Os propongo cambiar los XML de los canales por JSON.
El motivo:
Es mucho mas sencillo manejar JSON mediante las jsontools, que los XMLs tratandolos como texto que es lo que hacemos ahora.
Veamos un ejemplo de xml:
Código: Seleccionar todo
infile = open( local_version_path )
data = infile.read()
infile.close();
patronversion = '<version>([^<]+)</version>'
local_version = re.compile(patronversion,re.DOTALL).findall(data)[0]
patronurl= '<update_url>([^<]+)</update_url>'
update_url = re.compile(patronurl,re.DOTALL).findall(data)[0]
Código: Seleccionar todo
infile=open(file_directory)
data = infile.read()
infile.close()
json_data = jsontools.loads(data)
local_version = json_data['version']
update_url = json_data['update_url']
Y ahora imaginar que quisieramos guardar algo en esos ficheros, o mejor aun modificar uno de los campos, la cosa se complica en XML ¿no? Habra quien piense ¿por q no tratar los XML como lo q son y no como texto? Pues por lo q yo he visto aunque hay librerias para hacerlo, tampoco es facil.
¿Que podriamos querer modificar en ese fichero?
Pues muy facil, por ejemplo la configuracion propia del canal (user/contraseña, colores predeterminados, orden en las listas, etc...) o incluso la fecha de la ultima vez que se abrio el canal (para ordenarlos en el channelselector por ejemplo)
Ahora q estamos acostumbrados a los XML viene este a ...
Seguro q alguno lo ha pensado, incluso alguno le debe parecer un sistema mas complicado de escribir.
Pero para ello existen webs como:
- http://www.jsoneditoronline.org/?id=042 ... ee5e25d29c que permiten crear visualmente los JSON incluso guardarlos online y en nuestro HDD.
- http://www.utilities-online.info/xmltoj ... -xmltojson que permiten transformar XML en JSON y viceversa.