X
HOME HTML5 CSS3 JAVASCRIPT SQL PHP5 JQUERY ANGULAR BOOTSTRAP3 XML MORE...
REFERENCES | EXAMPLES | FORUM | ABOUT

PHP xml_parse() Function


PHP XML Reference Complete PHP XML Reference

Definition and Usage

The xml_parse() function parses an XML document.

This function returns TRUE on success, or FALSE on failure.

Syntax

xml_parse(parser,xml,end)

Parameter Description
parser Required. Specifies XML parser to use
xml Required. Specifies XML data to parse
end Optional. If this parameter is TRUE, the data in the "xml" parameter is the last piece of data sent in this parse.

Note: Entity errors are reported at the end of the parse. And will only show if the "end" parameter is TRUE



Tips and Notes

Tip: To create an XML parser, use the xml_parser_create() function.


Example 1

XML File

<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

PHP Code

<?php
$parser=xml_parser_create();

function char($parser,$data)
  {
  echo $data;
  }

xml_set_character_data_handler($parser,"char");
$fp=fopen("test.xml","r");

while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or
  die (sprintf("XML Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

xml_parser_free($parser);
?>

The output of the code above will be:

Tove Jani Reminder Don't forget me this weekend!


Example 2

Using the same XML file but displaying the XML data in another way:

<?php
$parser=xml_parser_create();

function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "NOTE":
    echo "-- Note --<br />";
    break;
    case "TO":
    echo "To: ";
    break;
    case "FROM":
    echo "From: ";
    break;
    case "HEADING":
    echo "Heading: ";
    break;
    case "BODY":
    echo "Message: ";
    }
  }

function stop($parser,$element_name)
  {
  echo "<br />";
  }

function char($parser,$data)
  {
  echo $data;
  }

xml_set_element_handler($parser,"start","stop");
xml_set_character_data_handler($parser,"char");
$fp=fopen("test.xml","r");

while ($data=fread($fp,4096))
  {
  xml_parse($parser,$data,feof($fp)) or
  die (sprintf("XML Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }

xml_parser_free($parser);
?>

The output of the code above will be:

-- Note --
To: Tove
From: Jani
Heading: Reminder
Message: Don't forget me this weekend!


PHP XML Reference Complete PHP XML Reference

Your suggestion:

Close [X]

Thank You For Helping Us!

Your message has been sent to W3Schools.

Close [X]
Search w3schools.com:

WEB HOSTING

UK Reseller Hosting

WEB BUILDING

Download XML Editor FREE Website BUILDER Free HTML5 Templates

SHARE THIS PAGE

facebook