PHP - Importar XML y mostrarlo en navegador

   
Vista:

Importar XML y mostrarlo en navegador

Publicado por Llorenç (7 intervenciones) el 12/06/2014 10:46:25
Hola a todos,
quisiera importar un fichero XML y luego mostrarlo en el navegador con php. He intentado usar la función simpleXML pero no obtengo los resultados apetecidos.
Lo que hago es inicializar una variable con
$xmlDoc=simplexml_load_file('nombrefichero.xml');
y luego
echo $xmlDoc->asXML();
pero sale el contenido del fichero XML sin las etiquetas xml y me interesaría que se vieran todos los nodos y etiquetas y su contenido estructuradamente (tal y como se vería si lo visualizo con el XML editor de Windows o con el mozilla-firefox, por ejemplo).
El fichero XML se genera dinámicamente.
¿Cómo puedo conseguirlo?
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Importar XML y mostrarlo en navegador

Publicado por xve (5512 intervenciones) el 12/06/2014 11:22:20
Hola Llorenç, que contenido tiene el archivo nombrefichero.xml?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar XML y mostrarlo en navegador

Publicado por Llorenç (7 intervenciones) el 12/06/2014 12:39:35
Es un fichero XML generado dinámicamente con php y mysql. Tiene formato XML pero sin espacios entre etiquetas, para poderlo enviar a otra página externa que lo cargue. Te pongo un trozo de lo que genera (tal cual)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02"><CstmrDrctDbtInitn><GrpHdr><MsgId>PRE20140611124408ABCDEFGHIJK</MsgId><CreDtTm>2014-06-11T12:44:08</CreDtTm><NbOfTxs>111</NbOfTxs><CtrlSum>3333</CtrlSum><InitgPty><Nm>Nombre cualquiera</Nm><Id><PrvtId><Othr><Id>ES1234567890</Id></Othr></PrvtId></Id></InitgPty></GrpHdr><PmtInf><PmtInfId>20140611124408W9B123456789012140611</PmtInfId><PmtMtd>DD</PmtMtd><BtchBookg>false</BtchBookg><PmtTpInf><SvcLvl><Cd>XXXX</Cd></SvcLvl><LclInstrm><Cd>CORE</Cd></LclInstrm><SeqTp>RCUR</SeqTp></PmtTpInf><ReqdColltnDt>2014-06-11</ReqdColltnDt><Cdtr><Nm>Nombre</Nm></Cdtr><CdtrAcct><Id><IBAN>ES1234567890987654321</IBAN></Id></CdtrAcct><CdtrAgt><FinInstnId><BIC>XXXXXXXXX</BIC></FinInstnId></CdtrAgt><CdtrSchmeId><Id><PrvtId><Othr><Id>ES1234567890123456</Id><SchmeNm><Prtry>XXXX</Prtry></SchmeNm></Othr></PrvtId></Id></CdtrSchmeId><DrctDbtTxInf><PmtId><EndToEndId>REF2014S2n0000</EndToEndId></PmtId><InstdAmt Ccy="EUR">10.00</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>2014S2n01234</MndtId><DtOfSgntr>2009-10-31</DtOfSgntr></MndtRltdInf></DrctDbtTx><DbtrAgt><FinInstnId/></DbtrAgt><Dbtr><Nm>Nombre 1</Nm></Dbtr><DbtrAcct><Id><IBAN>ES1234567890987654321</IBAN></Id></DbtrAcct><RmtInf><Ustrd>xxx2014</Ustrd></RmtInf></DrctDbtTxInf><DrctDbtTxInf><PmtId><EndToEndId>REF2014S2n0001</EndToEndId></PmtId><InstdAmt Ccy="EUR">10.00</InstdAmt><DrctDbtTx><MndtRltdInf><MndtId>2014S2n01235</MndtId><DtOfSgntr>2009-10-31</DtOfSgntr></MndtRltdInf></DrctDbtTx><DbtrAgt><FinInstnId/></DbtrAgt><Dbtr><Nm>Nombre 2</Nm></Dbtr><DbtrAcct><Id><IBAN>ES1234567890987654321</IBAN></Id></DbtrAcct><RmtInf><Ustrd>xxx2014</Ustrd></RmtInf></DrctDbtTxInf></PmtInf></CstmrDrctDbtInitn></Document>

Me gustaría visualizar este contenido XML de manera estructurada (fácil lectura) en una página web para comprobar el contenido, tal y como se ve si lo abro (una vez descargado) con mozilla-firefox con el comando abrir con. La idea es que presente el resultado del fichero XML generado en la página sin tener que descargarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Importar XML y mostrarlo en navegador

Publicado por xve (5512 intervenciones) el 12/06/2014 17:19:23
Hola Llorenç, entiendo que el código que nos has mostrado, es todo una sola linea, verdad? si es así, puedes hacer dos cosas...

1.- al crear dicho archivo, pones un salto de linea al final de cada linea, para poder mostrarlo correctamente en la web directamente desde el archivo

2.- con el objeto simpreXML tendrás que recorrer todos los valores e ir mostrándolos por pantalla.... mira este ejemplo haber si te sirve:
http://www.lawebdelprogramador.com/codigo/PHP/2693-Leer_un_archivo_xml_de_manera_recursiva.html

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Importar XML y mostrarlo en navegador

Publicado por Llorenç (7 intervenciones) el 13/06/2014 11:58:54
Sí, el código es todo en una sola línea. No puedo dejar espacios en blanco entre etiquetas porque la página que lo carga no lo admite.

1. No puedo poner salto de línea al final por lo que acabo de comentar, así que no puedo aplicar esta opción 1.

2. He seguido el enlace y es lo que busco. Al menos veo el fichero generado de forma estructurada (faltan los finales de etiqueta en su sitio pero ya me vale. Al fin y al cabo sólo quiero ver, rápidamente, qué ha generado la página). Algo así es lo que buscaba.

Gracias por su ayuda,
Llorenç
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar