How to parse and process HTML/XML using PHP ?

In this article, we will learn how to process XML using PHP. We have already learnt the basics of XML and their differences with respect to HTML. Different elements of XML can be learnt from XML Elements to understand the wokring of the following programs.

The simplexml_load_string() function is used to parse the given XML and then the XML object can be used for accessing the XML data.

Example 1: The following example reads and prints the given XML string.

HTML

filter_none

edit
close

play_arrow

link
brightness_4
code

<html>
  
<body>
    <?php
    /* XML string */
    $myXMLData =
    "<?xml version='1.0' encoding='UTF-8'?>
    <note>
        <to>GeeksForGeeks</to>
        <from>Tom</from>
        <heading>Submission</heading>
  
        <body>
            Please see my artciles of PHP!
        </body>
    </note>";
  
    /* The function reads xml data 
       from the passed string */
    $xml = simplexml_load_string($myXMLData)
    or die("Error: Cannot create xml data object");
      
    print_r($xml);
    ?>
</body>
  
</html>

chevron_right


Output:



 SimpleXMLElement Object
 (
    [to] => GeeksForGeeks
    [from] => Tom
    [heading] => Submission
    [body] => Please see my artciles of PHP!
 )

Example 2: The following example demonstrates how to get XML node values using PHP. The node values are shown in the output given below.

HTML

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html>
  
<body>
    <h2>GeeksForGeeks </h2>
    <b>
        Get data from XML data string
    </b>
      
    <br /><br />
    <?php
    // XML string
    $myXMLData =
        "<?xml version='1.0' encoding='UTF-8'?>
      
    <note>
        <to>GeeksForGeeks</to>
        <from>John</from>
        <heading>Submission</heading>
  
        <body>Please see my articles of PHP!</body>
    </note>";
  
    /* The function reads xml data 
       from the passed string */
    $xml = simplexml_load_string($myXMLData)
    or die("Error: Cannot create xml data object");
    echo "To : " . $xml->to . "<br>";
    echo "From : " . $xml->from . "<br>";
    echo "Subject : " . $xml->heading . "<br>";
    echo "Mail : " . $xml->body;
    ?>
</body>
  
</html>

chevron_right


Output:

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.