Colección de citas famosas - Slogan de motivación - 1. Utilice Python para leer el archivo xml generado, agregue una hoja de estilo y finalmente genere un archivo html.

1. Utilice Python para leer el archivo xml generado, agregue una hoja de estilo y finalmente genere un archivo html.

#coding=utf8

#? ¿Introducir la biblioteca de análisis xml que se utilizará? Aquí solo usamos el minidom relativamente liviano

import?xml .dom. minidom

#?Definir una plantilla de salida html

#?Más tarde solo necesitamos reemplazar la parte de datos del estudiante (lt; Student_trs/gt;) en este html Datos leídos en xml

plantilla?=?"""

lt;htmlgt;

lt;table?border="1"?style= "ancho:?100; -align:?center;"gt;

lt;trgt;

lt;td?colspan="4"?gt;Información del estudiantelt; /tdgt;

lt;/trgt;

lt;student_trs/gt;

lt;/tablegt;

lt;/ htmlgt;

"""

#?Lea el contenido del documento xml, asumiendo que es un.xml

dom?=?xml.dom.minidom. parse('a.xml ')

#?Obtener todos los nodos de estudiantes en xml

student_nodes?=?dom.getElementsByTagName('student')

#?Inicializar Student_trs para que esté vacío

student_trs?=?""

#?Recorra la información de cada estudiante

for?node?in?student_nodes:

#? getAttribute?El usuario obtiene el atributo del nodo y el valor del atributo id, que es el número de estudiante.

#?Debido a que el xml está codificado en Unicode después del análisis, es necesario convertirlo a codificación utf8. Lo mismo debajo de Gestión

sid?=?node.getAttribute("id").encode('utf-8')?

#?Obtener todos los nodos secundarios

children?=?node.childNodes

para?child?in?children:

#?Si se determina que el nombre del nodo secundario es?nombre, género , mayor?, recoge su texto correspondiente

if?child.nodeName.encode('utf-8')?==?"name":

#?Use?.

El método de childNodes[0].nodeValue? obtiene el texto del nodo

name?=?child.childNodes[0].nodeValue.encode('utf-8')?

if ?child.nodeName.encode('utf-8')?==?"Género":

sexo?=?child.childNodes[0].nodeValue.encode('utf-8 ')?

if?child.nodeName.encode('utf-8')?==?"especialidad":

especialidad?=?child.childNodes[0]. nodeValue.encode ('utf-8')

#?Compone una fila de datos de estudiantes en html

student_tr?=?"lt;trgt;lt;tdgt;slt;/ tdgt;lt; tdgt;slt;/tdgt;lt;tdgt;slt;/tdgt;lt;tdgt;slt;/tdgt;lt;/trgt;"??(sid,?nombre,?sexo,?especialidad)

#?Agregue esta fila de datos a los datos totales

student_trs? =?student_tr

#?Reemplace el lt de la plantilla con el html; llegamos arriba de Datos

html?=?template.replace("lt;student_trs/gt;",?student_trs)

#?Ingrese los resultados html en?output.html

open("output.html",?"w").write(html)

#?PD: Hay un problema con los datos xml que proporcionaste, confirma a lt; /studentsgt;mark

p>

#?El xml correcto debe ser el siguiente

"""

lt;?xml?version="1.0"? codificación="UTF-8"?gt;

lt;persongt;

lt;studentsgt;

lt;student?id="20140711"gt;

lt;name gt;三lt;/namegt;

lt;gendergt;malelt;/gendergt;

lt;professionalgt;computerlt;/professionalgt;

lt;/studentgt;

lt;/studentsgt;

lt;/persongt;

"""