Convierta una cadena XML bien formada en un objeto SimpleXMLElement y genere las claves y elementos del objeto:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Recordatorio</heading><body>¡No me olvides este fin de semana!</ cuerpo></nota>XML;$xml=simplexml_load_string($nota);print_r($xml);?>La función simplexml_load_string() convierte una cadena XML bien formada en un objeto SimpleXMLElement.
simplexml_load_string( datos,nombre de clase,opciones,ns,is_prefix );
parámetro | describir |
---|---|
datos | Requerido. Especifica una cadena XML bien formada. |
nombre de clase | Opcional. Especifica la clase del nuevo objeto. |
opciones | Opcional. Especifica parámetros Libxml adicionales. Se establece especificando la opción como 1 o 0 (VERDADERO o FALSO, como LIBXML_NOBLANKS(1)). Valores posibles: LIBXML_COMPACT: activa una configuración optimizada de nodos (puede acelerar las aplicaciones) LIBXML_DTDATTR: establece atributos DTD predeterminados LIBXML_DTDLOAD: carga subconjuntos adicionales LIBXML_DTDVALID: verificar la validez de la DTD LIBXML_NOBLANKS: eliminar nodos vacíos LIBXML_NOCDATA: establece CDATA en un nodo de texto LIBXML_NOEMPTYTAG: expande etiquetas vacías (por ejemplo, <br/> a <br></br>), solo válido en las funciones DOMDocument->save() y DOMDocument->saveXML() LIBXML_NOENT - entidad sustituta LIBXML_NOERROR: no mostrar informes de errores LIBXML_NONET: deja de acceder a la red mientras carga el documento LIBXML_NOWARNING: no mostrar informes de advertencia LIBXML_NOXMLDECL: descarta declaraciones XML al almacenar un documento LIBXML_NSCLEAN: eliminar declaraciones de espacios de nombres redundantes LIBXML_PARSEHUGE: establece el indicador XML_PARSE_HUGE, que relaja cualquier restricción impuesta por el analizador. Esto afectará cosas como la profundidad máxima del documento y los límites de tamaño de los nodos de texto. LIBXML_XINCLUDE: utilice XInclude en su lugar LIBXML_ERR_ERROR: obtener errores corregibles LIBXML_ERR_FATAL: obtiene un error fatal LIBXML_ERR_NONE - no recibe errores LIBXML_ERR_WARNING: recibe advertencias simples LIBXML_VERSION: obtiene la versión de libxml (por ejemplo, 20605 o 20617) LIBXML_DOTTED_VERSION: obtiene la versión de libxml con puntos (por ejemplo, 2.6.5 o 2.6.17) |
ns | Opcional. Especifica un prefijo de espacio de nombres o URI. |
es_prefijo | Opcional. Especifica un valor booleano. VERDADERO si ns es un prefijo, FALSO si ns es un URI. El valor predeterminado es FALSO. |
Valor de retorno: | Devuelve un objeto SimpleXMLElement si tiene éxito o FALSE si falla. |
---|---|
Versión PHP: | 5+ |
Datos de salida para cada elemento en una cadena XML:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Recordatorio</heading><body>¡No me olvides este fin de semana!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->to "<br>";echo $xml->from "<br>";echo. $xml->encabezado . "<br>";echo $xml->cuerpo;?>Genere el nombre del elemento y los datos de cada nodo secundario en una cadena XML:
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Recordatorio</heading><body>¡No me olvides este fin de semana!</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->getName() . "<br>";foreach($xml->children() as $child) { echo $niño->getName() ": " $niño "<br>";