How to display XML data in web page using PHP ?

31 Mar, 2021
In this article, we are going to display data present in an XML file on a web page using PHP through the XAMPP server. PHP is a server-side scripting language that is mainly for processing web data. The XML stands for an extensible markup language.
Requirements:
XAMPP server
XAMPP server
Syntax:
<root>
   <child>
   <subchild>.....</subchild>
   </child>
</root>
Approach: We are going to use mainly two functions in our PHP code. The simplexml_load_file() function is used to convert an XML document to an object.
simplexml_load_filesimplexml_load_file(name of XML file)

simplexml_load_file(name of XML file)

children(): The children() function finds the children of a specified node.$xml_data->children()

$xml_data->children()

Steps to execute:
Step 1: Start XAMPP server.
Open notepad and type the following codes in xml_data.xml and code.php formats The xml_data.xml: Consider student XML data as an example.xml_data.xmlxml_data.xml<?xml version = "1.0" encoding = "utf-8"?><collegedata>   <department category = "IT">      <subjects lang = "en">java</subjects>      <name>G.Sravan Kumar</name>      <age>22</age>      <marks>98</marks>      <address>guntur</address>   </department>        <department category = "CSE">      <subjects lang = "en">Python</subjects>      <name>B. Naga sudheer</name>      <age>28</age>      <marks>96</marks>       <address>guntur</address>   </department>        <department category = "IT">      <subjects lang = "en">sql</subjects>      <name>Radha</name>      <age>25</age>      <marks>78</marks>       <address>guntur</address>   </department>       </collegedata>
xml_data.xml
<?xml version = "1.0" encoding = "utf-8"?><collegedata>   <department category = "IT">      <subjects lang = "en">java</subjects>      <name>G.Sravan Kumar</name>      <age>22</age>      <marks>98</marks>      <address>guntur</address>   </department>        <department category = "CSE">      <subjects lang = "en">Python</subjects>      <name>B. Naga sudheer</name>      <age>28</age>      <marks>96</marks>       <address>guntur</address>   </department>        <department category = "IT">      <subjects lang = "en">sql</subjects>      <name>Radha</name>      <age>25</age>      <marks>78</marks>       <address>guntur</address>   </department>       </collegedata>
Step 3:The following is the code for code.php file.code.phpcode.php<?php// Start php code// Load xml file into xml_data variable$xml_data = simplexml_load_file("xml_data.xml") or die("Error: Object Creation failure");// Use foreach loop to display data and for sub elements access,// We will use children() functionforeach ($xml_data->children() as $data){    //display each sub element in xml file    echo "Subject name : ", $data->subjects . "<br> ";    echo "Student name : ", $data->name . "<br> ";    echo "Student age : ", $data->age . "<br> ";    echo "Student marks : ", $data->marks . "<br>";    echo "Student address : ", $data->address . "<br>";    echo "------------------------------------";    echo "<br>";}?>
Step 3:The following is the code for code.php file.
code.php
<?php// Start php code// Load xml file into xml_data variable$xml_data = simplexml_load_file("xml_data.xml") or die("Error: Object Creation failure");// Use foreach loop to display data and for sub elements access,// We will use children() functionforeach ($xml_data->children() as $data){    //display each sub element in xml file    echo "Subject name : ", $data->subjects . "<br> ";    echo "Student name : ", $data->name . "<br> ";    echo "Student age : ", $data->age . "<br> ";    echo "Student marks : ", $data->marks . "<br>";    echo "Student address : ", $data->address . "<br>";    echo "------------------------------------";    echo "<br>";}?>
Step 4: Save these two files in xampp/htdocs/geek folder. The developer can use any other folder instead of geek folder.
Output: Open your browser and type localhost/geek/code.php to see the output.
XML data 
PHP-Questions
PHP-XML
PHP
PHP Programs
Web Technologies
PHP
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.