PHP simplexml_load_string() Fonction

❮ Référence PHP SimpleXML

Exemple

Convertir une chaîne XML en un objet, puis afficher les clés et les éléments de cet objet :

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Rappel</heading>
<body>N'oublie pas de me contacter ce week-end !</body>
</note>
XML;

$xml=simplexml_load_string($note);
print_r($xml);
?>
Exécuter l'exemple »

Définition et Utilisation

La fonction simplexml_load_string() convertit une chaîne XML bien formée en un objet.


Syntaxe

simplexml_load_string( data, class, options, ns, is_prefix )

Valeurs des Paramètres

Paramètre Description
data Requis. Spécifie une chaîne XML bien formée
class Optionnel. Spécifie la classe du nouvel objet
options Optionnel. Spécifie des paramètres Libxml supplémentaires. Est défini en spécifiant l'option et 1 ou 0 (VRAI ou FAUX, par exemple LIBXML_NOBLANKS(1))

Valeurs possibles :

  • LIBXML_COMPACT - Activer l'optimisation de l'allocation des nœuds (peut accélérer l'application)
  • LIBXML_DTDATTR - Définir les attributs DTD par défaut
  • LIBXML_DTDLOAD - Charger le sous-ensemble externe
  • LIBXML_DTDVALID - Valider avec le DTD
  • LIBXML_NOBLANKS - Supprimer les nœuds vides
  • LIBXML_NOCDATA - Fusionner CDATA en tant que nœuds de texte
  • LIBXML_NOEMPTYTAG - Développer les balises vides (par exemple <br/> en <br></br>), disponible uniquement dans les fonctions DOMDocument->save() et DOMDocument->saveXML()
  • LIBXML_NOENT - Substituer les entités
  • LIBXML_NOERROR - Ne pas afficher les rapports d'erreur
  • LIBXML_NONET - Désactiver l'accès réseau lors du chargement des documents
  • LIBXML_NOWARNING - Ne pas afficher les rapports d'avertissement
  • LIBXML_NOXMLDECL - Supprimer la déclaration XML lors de l'enregistrement d'un document
  • LIBXML_NSCLEAN - Supprimer les déclarations de namespace redondantes
  • LIBXML_PARSEHUGE - Définit le drapeau XML_PARSE_HUGE, qui assouplit toute limite codée en dur du parseur. Cela affecte des limites comme la profondeur maximale d'un document et les limites de la taille des nœuds de texte
  • LIBXML_XINCLUDE - Implémenter la substitution XInclude
  • LIBXML_ERR_ERROR - Obtenir des erreurs récupérables
  • LIBXML_ERR_FATAL - Obtenir des erreurs fatales
  • LIBXML_ERR_NONE - Ne pas obtenir d'erreurs
  • LIBXML_ERR_WARNING - Obtenir des avertissements simples
  • LIBXML_VERSION - Obtenir la version de libxml (par exemple 20605 ou 20617)
  • LIBXML_DOTTED_VERSION - Obtenir la version de libxml en pointillés (par exemple 2.6.5 ou 2.6.17)
ns Optionnel. Spécifie un préfixe de namespace ou un URI
is_prefix Optionnel. Spécifie une valeur booléenne. VRAI si ns est un préfixe. FAUX si ns est un URI. Par défaut, c'est FAUX


Détails Techniques

Valeur de Retour : Un objet SimpleXMLElement en cas de succès. FAUX en cas d'échec
Version PHP : 5+

Plus d'Exemples

Exemple

Afficher les données de chaque élément dans la chaîne XML :

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Rappel</heading>
<body>N'oublie pas de me contacter ce week-end !</body>
</note>
XML;

$xml=simplexml_load_string($note);
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>
Exécuter l'exemple »

Exemple

Afficher le nom et les données de chaque nœud enfant dans la chaîne XML :

<?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Rappel</heading>
<body>N'oublie pas de me contacter ce week-end !</body>
</note>
XML;

$xml=simplexml_load_string($note);
echo $xml->getName() . "<br>";

foreach($xml->children() as $child)
{
echo $child->getName() . ": " . $child . "<br>";
}
?>
Exécuter l'exemple »

❮ Référence PHP SimpleXML