|
|
Zend_Json
roporciona una método conveniente para
transformar datos en formato
XML
a formato
JSON
. Esta
característica fue inspirado en un
»
artículo de IBM developerWorks
.
Zend_Json
incluye una función estática llamada
Zend_Json::fromXml()
. Esta función generará
JSON
desde una determinada entrada
XML
. Esta función
toma cualquier string
XML
arbitrario como un
parámetro de entrada. También puede tomar opcionalmente parámetros
booleanos de entrada que instruyan a la lógica de conversión de ignorar
o no los atributos
XML
durante el proceso de
conversión. Si este parámetro opcional de entrada no está dado,
entonces
el comportamiento por defecto es ignorar los atributos
XML
. La llamada a esta función se hace como se
muestra a continuación:
// la función fromXml simplemente toma un string conteniendo XML // como entrada. $jsonContents = Zend_Json::fromXml($xmlStringContents, true);
Zend_Json::fromXml()
función que hace la
conversión del parámetro de entrada formateado como un string
XML
y devuelve el string de salida equivalente
formateado a
JSON
. En caso de cualquier entrada con formato
XML
erróneo o un error en la lógica de
conversión, esta función arrojará una excepción. La
conversión lógica
también usa técnicas recursivas para recorrer el árbol
XML
. Soporta una recursión de hasta 25 niveles de
profundidad. Más allá de esa profundidad,
arrojará una
Zend_Json_Exception
. Hay varios archivos
XML
con diversos grados de complejidad provistas
en el directorio de tests de Zend Framework. Se
pueden utilizar para
probar la funcionalidad de la característica xml2json.
El siguiente es un ejemplo simple que muestra tanto el string de entrada XML pasado a y al string JSON de salida devuelto como resultado de la función Zend_Json::fromXml() . Este ejemplo utilizó el parámetro de la función opcional como para no ignorar los atributos XML durante la conversión. Por lo tanto, puede notar que el string resultante JSON incluye una representación de los atributos XML presentes en el string de entrada XML .
String de entrada XML pasada a la función Zend_Json::fromXml() :
Code Generation in Action Jack Herrington Manning PHP Hacks Jack Herrington O'Reilly Podcasting Hacks Jack Herrington O'Reilly
String de salida JSON devuelto por la función Zend_Json::fromXml() :
{
"books" : {
"book" : [ {
"@attributes" : {
"id" : "1"
},
"title" : "Code Generation in Action",
"author" : {
"first" : "Jack", "last" : "Herrington"
},
"publisher" : "Manning"
}, {
"@attributes" : {
"id" : "2"
},
"title" : "PHP Hacks", "author" : {
"first" : "Jack", "last" : "Herrington"
},
"publisher" : "O'Reilly"
}, {
"@attributes" : {
"id" : "3"
},
"title" : "Podcasting Hacks", "author" : {
"first" : "Jack", "last" : "Herrington"
},
"publisher" : "O'Reilly"
}
]}
}
Más detalles sobre esta característica xml2json pueden encontrarse en la propuesta original. Eche un vistazo a la » Zend_xml2json proposal .
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 20189).

