Convertissez une chaîne XML bien formée en un objet SimpleXMLElement et affichez les clés et les éléments de l'objet :
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Rappel</heading><body>Ne m'oubliez pas ce week-end !</ body></note>XML;$xml=simplexml_load_string($note);print_r($xml);?>La fonction simplexml_load_string() convertit une chaîne XML bien formée en un objet SimpleXMLElement.
simplexml_load_string( data,classname,options,ns,is_prefix );
paramètre | décrire |
---|---|
données | Requis. Spécifie une chaîne XML bien formée. |
nom de classe | Facultatif. Spécifie la classe du nouvel objet. |
choix | Facultatif. Spécifie des paramètres Libxml supplémentaires. Définissez en spécifiant l'option sur 1 ou 0 (TRUE ou FALSE, comme LIBXML_NOBLANKS(1)). Valeurs possibles : LIBXML_COMPACT - active une configuration optimisée des nœuds (peut accélérer les applications) LIBXML_DTDATTR - Définir les attributs DTD par défaut LIBXML_DTDLOAD - charger des sous-ensembles supplémentaires LIBXML_DTDVALID - Vérifier la validité de la DTD LIBXML_NOBLANKS - supprime les nœuds vides LIBXML_NOCDATA - Définit CDATA sur un nœud de texte LIBXML_NOEMPTYTAG - développe les balises vides (par exemple <br/> vers <br></br>), valide uniquement dans les fonctions DOMDocument->save() et DOMDocument->saveXML() LIBXML_NOENT - entité de remplacement LIBXML_NOERROR - Ne pas afficher les rapports d'erreurs LIBXML_NONET - Arrêter d'accéder au réseau pendant le chargement du document LIBXML_NOWARNING - Ne pas afficher les rapports d'avertissement LIBXML_NOXMLDECL - ignore les déclarations XML lors du stockage d'un document LIBXML_NSCLEAN - Supprime les déclarations d'espace de noms redondantes LIBXML_PARSEHUGE - Définit l'indicateur XML_PARSE_HUGE, qui assouplit toutes les contraintes imposées par l'analyseur. Cela affectera des éléments tels que la profondeur maximale du document et les limites de taille des nœuds de texte. LIBXML_XINCLUDE - utilisez plutôt XInclude LIBXML_ERR_ERROR - Obtenez les erreurs corrigibles LIBXML_ERR_FATAL - Obtenez une erreur fatale LIBXML_ERR_NONE - n'obtient pas d'erreurs LIBXML_ERR_WARNING – Obtenir des avertissements simples LIBXML_VERSION - Obtenez la version libxml (par exemple 20605 ou 20617) LIBXML_DOTTED_VERSION - Obtenez la version pointée de libxml (par exemple 2.6.5 ou 2.6.17) |
ns | Facultatif. Spécifie un préfixe d'espace de noms ou un URI. |
is_prefix | Facultatif. Spécifie une valeur booléenne. VRAI si ns est un préfixe, FALSE si ns est un URI. La valeur par défaut est FAUX. |
Valeur de retour : | Renvoie un objet SimpleXMLElement en cas de réussite ou FALSE en cas d'échec. |
---|---|
Version PHP : | 5+ |
Données de sortie pour chaque élément d'une chaîne XML :
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Rappel</heading><body>Ne m'oubliez pas ce week-end !</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->to "<br>";echo $xml->from . $xml->titre "<br>";echo $xml->corps;?>Affichez le nom de l'élément et les données de chaque nœud enfant dans une chaîne XML :
<?php$note=<<<XML<note><to>Tove</to><from>Jani</from><heading>Rappel</heading><body>Ne m'oubliez pas ce week-end !</ body></note>XML;$xml=simplexml_load_string($note);echo $xml->getName() "<br>";foreach($xml->children() as $child) { echo. $enfant->getName() . " : " $enfant "<br>" ;