|
Una vez que sabemos como esta estructurado un documento XML veamos como se hace el mapeo de una estructura de datos a XML. En todas las paginas web, se usa básicamente 2 conceptos fundamentales en el mapeo : la serializacion , y la unserializacion. La serializacion consiste en transformar una estructura de datos en un documento XML, esta estructura de datos puede ser un arreglo o un objeto cualquiera. ![]() La unserializacion es el paso inverso que la serializacion , o sea que dado un documento XML , lo parsea para convertirlo a una estructura de datos. Nosotros nos ocuparemos sólo de la parte de serialización. Una vez tenido el arreglo u objeto cargado, se debe crear un objeto XML_Serializer, el cual posee un método serialize el que recibe un arreglo u objeto. Para obtener el documento xml formado se debe llamar al método getSerializedData(). Para el ejemplo anterior: $xml = new XML_Serializer(); $xml->serialize($arreglo); echo $xml->getSerializedData(); Como se puede observar, los pasos básicos son, cargar un arreglo, crear una instancia de XML_Serializer, llamar al método serialize() con el arreglo como parámetro, y luego el método getSerializedData(), el cual retorna el resultado de la serialización, es decir el documento xml, en éste ejemplo lo único que se hace es hacer un echo al cliente, pero se puede hacer otras cosas, como por ejemplo crear un archivo conteniendo el resultado. Una observación importante es que el método serializer() retorna true en caso de que haya salido todo bien, o un error en caso de que algo haya salido mal, para ello se utiliza la librería PEAR, que es la que maneja los errores. Algo importante a destacar es que XML_Serializer trae unas cuantas opciones, éstas se pueden setear en el constructor o bien con el método setOptions($options), el cual recibe un arreglo con todas las opciones, las opciones que se utilizaron en éste práctico son: XML_SERIALIZER_OPTION_INDENT, la cual especifica el string para identación. XML_SERIALIZER_OPTION_LINEBREAKS, la cual especifica el string para salto de línea, por omisión es ‘\n’ (un enter) XML_SERIALIZER_OPTION_XML_DECL_ENABLED, agrega la declaración XML_SERIALIZER_OPTION_ROOT_NAME, setae el nombre del tag raiz.. Hay muchas opciones más, pero éstas son las que aquí se usan. Para información acerca del resto vea el código de Serializer.php.
Tema: PHP, Programación
'Conversión a Documento XML en php' aparece también en las siguientes entradas:
¿Mejoramos la definición?
Puntos: 0( 0 votos)
Publicado el 14/07/2018. |