1) tengo un archivo xml
Código HTML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <chat> <mensaje> <usuario>2</usuario> <nombre>Argotan</nombre> <descripcion>Nakoula Basseley Nakoula, de 55 años, un estadounidense que reside en un suburbio de la ciudad de Los Angeles (California) ha sido indentificado por varios medios de comunicación de EE UU como el autor de la película de bajo presupuesto '</descripcion> </mensaje> <mensaje> <usuario>1</usuario> <nombre>Argotan</nombre> <descripcion>El embajador de EE UU en Libia y otros tres estadounidenses murieron el martes en un ataque contra el consulado de los EE UU. Los atacantes eran parte de una turba que culpaba a EE UU por el filme que insulta al profeta. S</descripcion> </mensaje> <mensaje> <usuario>0</usuario> <nombre>Argotan</nombre> <descripcion>Las manifestaciones contra la película también han estallado en Egipto, Yemen y otros países musulmanes, con las embajadas de los Estados Unidos de nuevo los objetivos de la ira popular entre los musulmanes cuestionan por qué los Estados Unidos no ha tomado medidas contra los responsables de la película.n</descripcion> </mensaje> <mensaje> <usuario>2</usuario> <nombre>Argotan</nombre> <descripcion>Lo cierto es que el vídeo fue subido a YouTube en julio por un autor identificado como Sam Bacile. Alguien que dijo llamarse así y que se encuentra escondido por temor a las represalias, lamentó este miércoles la muerte del embajador aunque declaró, acto seguido, que el "islam es un cáncer" contra el que se propuso "luchar". Varios testimonios aseguran que Bacile es un seudónimo.</descripcion> </mensaje> </chat>
Código:
y me devuelve la terminal:# importar funcion xml from xml.dom.minidom import parseString #abir archivo file = open('hoja-personaje.xml','r') data = file.read() file.close() # abrir archivo xml dom = parseString(data) orden = 0 while orden < 4: # buscar un valor determinado del archivo xml xmlusuario = dom.getElementsByTagName("usuario")[orden].toxml() usuario = float(xmlusuario.replace('<usuario>','').replace('</usuario>','')) #control de usuario nombre_usuario = 2 if nombre_usuario == usuario: #si el usuario es correcto, continuamos xmlnombre = dom.getElementsByTagName("nombre")[orden].toxml() nombre = xmlnombre.replace('<nombre>','').replace('</nombre>','') xmldescripcion = dom.getElementsByTagName("descripcion")[orden].toxml() descripcion = xmldescripcion.replace('<descripcion>','').replace('</descripcion>','') print descripcion print nombre orden += 1
Cita:
3) en Qdesigner inserto un objeto TextEdit o PlainTextEditNakoula Basseley Nakoula, de 55 años, un estadounidense que reside en un suburbio de la ciudad de Los Angeles (California) ha sido indentificado por varios medios de comunicación de EE UU como el autor de la película de bajo presupuesto '
Argotan
Lo cierto es que el vídeo fue subido a YouTube en julio por un autor identificado como Sam Bacile. Alguien que dijo llamarse así y que se encuentra escondido por temor a las represalias, lamentó este miércoles la muerte del embajador aunque declaró, acto seguido, que el "islam es un cáncer" contra el que se propuso "luchar". Varios testimonios aseguran que Bacile es un seudónimo.
Argotan
Argotan
Lo cierto es que el vídeo fue subido a YouTube en julio por un autor identificado como Sam Bacile. Alguien que dijo llamarse así y que se encuentra escondido por temor a las represalias, lamentó este miércoles la muerte del embajador aunque declaró, acto seguido, que el "islam es un cáncer" contra el que se propuso "luchar". Varios testimonios aseguran que Bacile es un seudónimo.
Argotan
4) creo otro script, en el cual cargo la interface y importo las variables descripcion y nombre desde el anterior script, creo las variables en qt y las envio al TextEdit o PlainTextEdit.
Código:
Con esto consigo que en el objeto TextEdit o en el PlainTextEdit, tan solo aparecen de los dos textos que aparecen en el archivo xml, el ultimo.import sys from PyQt4 import QtCore, QtGui #importamos la interface del archivo creado from ui import Ui_ventana #importamos una variable de otro archivo from rss2 import descripcion, nombre #creamos una clase que contega la interface class principal (QtGui.QMainWindow): #definimos las variables descripcion_1 = descripcion nombre_1 = nombre #Cargamos la interface grafica def __init__(self): self.setupUI() self.show() sys.exit(self.app.exec_()) #Ensenamos la interface grafica al usuario def setupUI(self): self.app=QtGui.QApplication(sys.argv) QtGui.QMainWindow.__init__(self) self.venta=Ui_ventana() self.venta.setupUi(self) #cargamos la variable no qt en otra varible qt self.descripcion_2 = self.descripcion_1 self.nombre_2 = self.nombre_1 #envimos el informacion carga en al variable a elemento de la interface grafica self.venta.chat.setPlainText(str(self.descripcion_2) + "\n" +str(self.nombre_2)) # finalizamos el programa if __name__ == '__main__': principal()
Cita:
En resumen tengo un archio xml en el cual se ira creciendo con informacion y tengo que mostrarlo en una ventana grafica. No se si voy bien en caminado.Lo cierto es que el vídeo fue subido a YouTube en julio por un autor identificado como Sam Bacile. Alguien que dijo llamarse así y que se encuentra escondido por temor a las represalias, lamentó este miércoles la muerte del embajador aunque declaró, acto seguido, que el "islam es un cáncer" contra el que se propuso "luchar". Varios testimonios aseguran que Bacile es un seudónimo.
Argotan
Argotan
Gracias por vuestras respuestas