Comment lire le fichier XML dans PHP (simplexml)

Comment lire le fichier XML dans PHP (simplexml)

Simplexml est une extension PHP introduite avec PHP 5. Il permet aux utilisateurs de gérer facilement les données XML en PHP. Simplexml convertit toutes les données XML en un objet qui peut être facilement traité avec des sélecteurs de propriétés normaux et des itérateurs de tableau.

Vous devez avoir installé une extension PHP-SimplexML sur votre système pour utiliser des exemples de ce tutoriel.

Un exemple de fichier XML

Voici un exemple de fichier XML utilisé pour ce tutoriel. Le nom de fichier XML est employés.xml que vous verrez dans d'autres exemples de ce tutoriel.

Tom Cruise MD 500000 Tyler Horne PDG 250000
123456789101112131415 Tom Cruise MD 500000 Tyler Horne PDG 250000

Lire des éléments XML spécifiques

Utilisez la fonction simplexml_load_file pour charger le fichier XML externe dans votre programme PHP et créer un objet. Après cela, vous pouvez accéder à n'importe quel élément du XML par cet objet comme suit.

Employé [0] -> FirstName . ""; Echo $ xmldata-> Employé [1] -> FirstName; ?>
12345Employé [0] -> FirstName . ""; Echo $ xmldata-> Employé [1] -> FirstName; ?>

Sortir:

Tom Tyler 

Si le fichier XML est disponible sur le serveur distant, vous pouvez utiliser l'URL HTTP pour le fichier XML comme suivi:

Employé [0] -> FirstName . ""; Echo $ xmldata-> Employé [1] -> FirstName; ?>
12345Employé [0] -> FirstName . ""; Echo $ xmldata-> Employé [1] -> FirstName; ?>

Lire des éléments XML dans une boucle

Dans cet exemple, nous utilisons la méthode foreach pour itérer dans l'ensemble du fichier XML et lire les éléments de XML. Forach Loop Accédez à tous les enfants d'un objet.

Enfants () comme $ empl) echo $ empl-> FirstName . ","; Echo $ empl-> LastName . ","; Echo $ empl-> désignation . ","; Echo $ empl-> salaire . ""; ?>
123456789Enfants () comme $ empl) echo $ empl-> FirstName . ","; Echo $ empl-> LastName . ","; Echo $ empl-> désignation . ","; Echo $ empl-> salaire . ""; ?>

Sortir:

Tom, Cruise, MD, 500000 Tyler, Horne, PDG, 250000