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: p>
#? 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;
"""