Estoy tratando de usar un documento PHP para construir un documento XML (para AJAX) usando la clase incorporada de PHP 5 SimpleXMLElement
. Quiero comenzar con una lista en blanco y construir el elemento XML por elemento, pero no he encontrado forma de construir un SimpleXMLElement
sin comenzar desde un fragmento de código XML existente. No pude pasar con éxito una cadena en blanco ("") al constructor SimpleXMLElement
, por lo que actualmente paso el XML para la etiqueta más externa, y luego construyo desde allí. Aquí está mi código:¿Cómo creo un SimpleXMLElement vacío/en blanco en PHP?
// Start with a "blank" XML document.
$xml = new SimpleXMLElement("<feature></feature>");
// Add various children and attributes to the main tag.
$xml->addAttribute("id", $id);
$xml->addChild("title", $feature['title']);
$xml->addChild("summary", $feature['summary']);
// ...
// After the document has been constructed, echo out the XML.
echo $xml->asXML();
¿Hay alguna manera más clara de hacerlo?
Probablemente puedas crear los elementos usando DOMDocument y convertir eso a SimpleXML, pero eso es aún más desordenado ... – derekerdmann
La clave está en el nombre de la clase, estás creando elementos SimpleXML *. En cuanto a ser más limpio, el 'simplexml_import_dom()' no es necesario. Aparte de eso, si desea construir el documento por elementos/atributos individuales, entonces lo que tiene está bien. – salathe
Malo en lo de 'simplexml_import_dom()'. Era un código viejo. – andrewtc