Q:

How to get data from XML file in PHP

belongs to collection: PHP Programming Exercises

0

How to get data from XML file in PHP

In this exercise, you will learn to get data from XML file using PHP programming language.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

XML(Extensible Markup Language) serves the best choice to use in web services and data transport. It is widely used in web applications. We can easily render data stored in XML as it stores data in a formatted way that is easy to search for and understand. It makes it easier for an informative application to store, retrieve, and display data. It is widely used in business-to-business transactions, generating metadata, e-commerce applications and so on.

 

PHP provides a set of methods that help with XML creation and manipulation. By using SimpleXML extension, we can easily get XML data. The XML data is returned from webservices and, with the help of SimpleXML, we can easily parse the data.

Suppose the web service returns the following student data in an XML file 'students.xml'-

<?xml version="1.0" encoding="iso-8859-1"?>
<students>
<student>
<firstname>John</firstname>
<lastname>Player</lastname>
<age>12</age>
<class>5</class>
</student>
<student>
<firstname>Smith</firstname>
<lastname>Soy</lastname>
<age>11</age>
<class>4</class>
</student>
</students> 

PHP simplexml_load_file()

The simplexml_load_file() function interprets an XML file into an object. It returns an object with properties containing the data held within the XML document. We can access any element from the XML by using this object. In the given example, we have used the foreach method to iterate through the entire XML file and read elements from XML.

<?php
$studentdata = simplexml_load_file('students.xml');
if(!$studentdata){
    echo 'Fail to load XML file';
}
else{
    foreach($studentdata as $student){
        echo 'Firstname: '.$student->firstname.'<br/>';
        echo 'Lastname: '.$student->lastname.'<br/>';
        echo 'Age: '.$student->age.'<br/>';
        echo 'Class: '.$student->class.'<br/><br/>';
    }
}
?>  

When you run the above code in the browser, it returns the data in the given format.

Firstname: John 
Lastname: Player
Age: 12
Class: 5

Firstname: Smith
Lastname: Soy
Age: 11
Class: 4

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

PHP Programming Exercises

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
PHP Create Word Document from HTML... >>
<< PHP create image from text and save...