PHP - Fonction simplexml_load_file ()

Définition et utilisation

XML est un langage de balisage permettant de partager les données sur le Web, XML est à la fois lisible par l'homme et par machine. L'analyseur XML simple est utilisé pour analyser le nom, les attributs et le contenu textuel.

le simplexml_load_file() accepte le chemin absolu d'un fichier XML comme paramètre, le convertit en objet de la classe SimpleXMLElement et le renvoie.

Syntaxe

simplexml_load_file($filename, [$class_name, $options, $ns, $is_prefix]);

Paramètres

Sr. Non Paramètre et description
1

filename (Mandatory)

Il s'agit d'une valeur de chaîne représentant le nom / chemin d'un fichier XML.

2

time(Optional)

Il s'agit d'une valeur de chaîne représentant le nom de la classe (sous-classe du SimpleXMLElement).

Si vous transmettez cette valeur, la chaîne XML donnée est renvoyée en tant qu'objet de la classe spécifiée.

3

optional(Optional)

Il s'agit d'une valeur entière utilisée pour spécifier les paramètres Libxml supplémentaires.

4

ns(Optional)

Il s'agit d'une valeur de chaîne représentant le préfixe d'espace de noms ou l'URI.

5

Is_prefix(Optional)

Il s'agit d'une valeur booléenne indiquant si l'option précédente est un préfixe ou un URI.

Valeurs de retour

Cette fonction renvoie un objet de la classe SimpleXMLElement en cas de succès et renvoie la valeur booléenne FALSE en cas d'échec.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 5 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple

L'exemple suivant montre l'utilisation de la fonction simplexml_load_file ().

data.xml:

<Tutorial>
   <Name>JavaFX</Name>
   <Pages>535</Pages>
   <Author>Krishna</Author>
   <Version>11</Version>
</Tutorial>

sample.html:

<html>
   <head>      
      <body>         
         <?php
            $xml = simplexml_load_file("data.xml");
            print("<br>");
            print_r($xml);
         ?>
      </body>
   </head>
</html>

Cela produira le résultat suivant -

SimpleXMLElement Object ( 
   [Name] => JavaFX [Pages] => 535 
   [Author] => Krishna [Version] => 11 
)

Exemple

Dans l'exemple suivant, nous essayons de charger un fichier XML avec plusieurs enregistrements et d'en récupérer des valeurs -

Data.xml:

<?xml version="1.0" encoding="utf-8"?>
<Tutorials>
   <Tutorial>
      <Name>JavaFX</Name>
      <Pages>535</Pages>
      <Author>Krishna</Author>
      <Version>11</Version>
   </Tutorial>
   <Tutorial>
      <Name>CoffeeScript</Name>
      <Pages>235</Pages>
      <Author>Kasyap</Author>
      <Version>2.5.1</Version>
   </Tutorial>
</Tutorials>

sample.html

<html>
   <head>      
      <body>         
         <?php
            $xml = simplexml_load_file("mydata.xml");
            print("<br>");
            foreach($xml->children() as $tut) {
               print($tut->Name ."<br>");
               print($tut->Pages ."<br>");
               print($tut->Author ."<br>");
               print($tut->Version ."<br>");
               print("<br>");
            }
         ?>
      </body>
   </head>
</html>

Cela produira la sortie suivante -

JavaFX
535
Krishna
11

CoffeeScript
235
Kasyap
2.5.1

Exemple

L'exemple suivant montre l'utilisation de cette méthode avec des options -

<Tutorial>
   <Name>JavaFX</Name>
   <Pages>535</Pages>
   <Author>Krishna</Author>
   <Version>11</Version>
</Tutorial>

sample.html

<html>
   <head>      
      <body>         
         <?php
            $xml = simplexml_load_file("data.xml", "SimpleXMLElement", LIBXML_BIGLINES, FALSE);
            print("<br>");
            print($xml->Name ."<br>");
            print($xml->Pages ."<br>");
            print($xml->Author ."<br>");
            print($xml->Version);
         ?>
      </body>
   </head>
</html>

Cela produira le résultat suivant -

JavaFX
535
Krishna
11

Exemple

Supposons que nous ayons un fichier avec le nom sample.xml comme indiqué ci-dessous -

data.xml

<note>
   <to>Gopal</to>
   <from>CEO</from>
   <heading>Reminder</heading>
   <body>Don't forget to send a file to me</body>
</note>

L'exemple suivant charge le fichier ci-dessus -

<?php
   $xml = simplexml_load_file("sample.xml");
   print_r($xml);
?>

Cela produira le résultat suivant -

SimpleXMLElement Object (
   [to] => gopal [from] => CEO 
   [heading] => Reminder [body] => Don't forget to send a file to me 
)