Archivo XML de Python abierto

Estoy intentando abrir un archivo xml y analizarlo, pero cuando bash abrirlo, parece que el archivo nunca se abre, solo sigue funcionando, ¿alguna idea?

from xml.dom import minidom Test_file = open('C::/test_file.xml','r') xmldoc = minidom.parse(Test_file) Test_file.close() for i in xmldoc: print('test') 

El archivo es 180.288 KB, ¿por qué nunca llega a la parte de impresión?

Ejecutando tu código Python con algunos ajustes:

 from xml.dom import minidom Test_file = open('C:/test_file.xml','r') xmldoc = minidom.parse(Test_file) Test_file.close() def printNode(node): print node for child in node.childNodes: printNode(child) printNode(xmldoc.documentElement) 

Con esta entrada de muestra como test_file.xml:

  testing 1 testing 2  

Rinde esta salida:

         

Notas:

  • Como mencionó @LukeWoodward, evite las bibliotecas basadas en DOM para entradas grandes, sin embargo, 180K debería estar bien. Para 180M, el control nunca puede regresar de minidom.parse() sin quedarse sin memoria primero (MemoryError).
  • Como se mencionó @alecxe, debe eliminar el ‘:’ extraño en la especificación de archivo. Debería haber visto una salida de error a lo largo de las líneas de IOError: [Errno 22] invalid mode ('r') or filename: 'C::/test_file.xml' .
  • Como se mencionó @mzjn, xml.dom.minidom.Document no es iterable. Debería haber visto una salida de error a lo largo de las líneas de TypeError: iteration over non-sequence .