prucommercialre.com


Cómo devolver resultados XML

Hasta este punto, usted ha estado devolviendo resultados en formato JSON. A veces es posible que desee devolver resultados en formato XML. Usted puede hacer esto porque el programa que consume para su servicio Web XML puede manejar más fácil que JSON o porque la persona que solicita el servicio web sólo quiere XML.

El listado muestra el servicio web con fecha de salida XML en lugar de JSON.

<? Php

$ FriendlyDate = date ("M d, Y", "1369739047");
$ Unixtime = 1369739047;
$ Mes = date ("M", "1369739047");
$ Díadelasemana = date ("l", "1369739047");
$ Años = date ("Y", "1369739047");

$ ReturnData = array (
"FriendlyDate" => $ friendlyDate,
"Unixtime" => $ unixtime,
"MonthNum" => $ mes,
"Díadelasemana" => $ díadelasemana,
"YearNum" => $ años
);

$ Xml = new DOMDocument ();

$ DateInfoElement = $ xml-> createElement ("dateInformation");
foreach ($ returnData como $ key => $ valor) {
$ XMLNode = $ xml-> createElement ($ key, $ value);
$ DateInfoElement-> appendChild ($ XmlNode);
}
$ Xml-> appendChild ($ dateInfoElement);
$ Header = "Content-Type: text / xml";

cabecera ($ header);
print $ xml-> saveXML ();

?>

Los principales cambios para el servicio web son crear un documento XML. Esto se hace a través del objeto DOMDocument, que es parte de PHP. Con un nuevo objeto DOMDocument instancia, el siguiente paso es crear elementos XML para cada una de las partes que desea volver. Envuelva elementos dentro de un elemento padre llamado dateInformation. Si lo hace, mantiene el XML formateado correctamente.

Los datos reales para la salida es fácil de hacer en XML. Debido a que tiene una serie de elementos de fecha ya, usted puede recorrer que con un bucle foreach () y ejecutar los métodos createElement y appendChild.

El resultado final de sus esfuerzos es XML que tiene este aspecto:

<DateInformation>
<FriendlyDate> 28 de mayo 2013 </ friendlyDate>
<Unixtime> 1369739047 </ unixtime>
<MonthNum> mayo </ monthNum>
<Díadelasemana> Martes </ díadelasemana>
<YearNum> 2013 </ yearNum>
</ DateInformation>