2012-01-09 11 views
8

Estoy tratando de importar cada historia en un objeto. Cada objeto tendrá múltiples cadenas (inicio y final) junto con las matrices generadas a partir del contenido en el contenido adicional. Un pequeño ejemplo sería:PHP carga XML en el objeto

<feed> 
    <story> 
    <run> 
     <start>1/1/2012</start> 
     <end>3/1/2012</end> 
    </run> 
    <additional-content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
     <content> 
     <sample>Sample story example</sample> 
     </content> 
    </additional-content> 
</story> 
... 
</feed> 

I todo el xml importado a una cadena. Además, estoy tratando de hacer esto sin bibliotecas. Entiendo el recorrido de cada historia, pero no estoy seguro de cómo cargar el contenido en el objeto y, al mismo tiempo, generar la matriz correctamente. Cualquier ayuda sería apreciada.

+0

Sin librerías? ¿O solo bibliotecas de terceros? –

Respuesta

14

simplexml carga xml en un objeto y podrá trabajar con él exactamente como lo está pidiendo.

$xml = simplexml_load_string($stories); 
+0

Word-up! Ahora que realmente usa XML. En mi humilde opinión, es una tontería destruir XML en tipos de datos nativos, especialmente si solo estás manipulando cadenas. Crear objetos que operan en objetos XML (nodos, documentos) es mucho mejor y más flexible que triturar XML. –

+0

¿hay alguna forma de revertir esto para generar el xml? –

+0

'$ xml-> asXML();' devolverá la cadena xml; para que pueda modificar el XML usando cualquiera de estos [métodos] (http://www.php.net/manual/en/book.simplexml.php), luego cuando necesite almacenar o mostrar el xml: 'echo $ xml -> asXML(); 'hará eco del xml. –