xml set processing instruction handler in PHP

In this article I will explain how the xml_set_processing_instruction_handler() function can be used in PHP.
  • 2112

xml_set_processing_instruction_handler() function in PHP

  • The xml_set_processing_instruction_handler() function is specify functions to be called when the parser finds a processing instruction in the XML document.
  • In xml_set_processing_instruction_handler() function handler parameter can also be an array containing a method name and an object reference.
  • In xml_set_processing_instruction_handler() function, A processing instruction is enclosed in <? and ?> delimiters and contains a a target followed by data.

Syntax

xml_set_processing_instruction_handler(parser,handler)

Parameter

Parameter Description
parser This is the required parameter. It is specify for use to XML parser.
handler This is the required parameter. It is specify for a function to be called when the parser finds a notation declaration.

The xml_set_processing_instruction_handler() function specified by the "handler" parameter must have three parameters:

parameter Description
parser This is the required parameter. It is specify a variable containing the XML parser calling the handler.
target This is the required parameter. It is specify a variable containing processing instruction target.
data This is the required parameter. It is specify a variable containing processing instruction data.

Example

XML Code

 <?xml version="1.0" encoding="ISO-8859-1"?>

<?xml-stylesheet href="default.xsl" type="text/xml"?>

<message>

       <to>User</to>

       <from>C-sharpcorner Team</from>

       <heading>Welcome message</heading>

       <body>Welcome C-sharpcorner user. This is the most Popular article site. Have a nice day....!</body>

</message>

PHP Code

The following example show to how the xml_set_processing_instruction_handler() function can be used in PHP.

<html>

<body>

<h3 style="color: brown;">xml_set_processing_instruction_handler() function example in PHP</h3>

    <?php

    $xml_parser=xml_parser_create();

    function char($xml_parser,$xml_data)

    {

    echo $xml_data;

    }

    function pi_handler($xml_parser, $target, $xml_data)

    {

    echo "Target: $target<br />";

    echo "Data: $xml_data<br />";

    }

    xml_set_character_data_handler($xml_parser,"char");

    xml_set_processing_instruction_handler($xml_parser, "pi_handler");

    $fp=fopen("test1.xml","r");

    while ($xml_data=fread($fp,4096))

    {

    xml_parse($xml_parser,$xml_data,feof($fp)) or

    die (sprintf("XML Error: %s at line %d",

    xml_error_string(xml_get_error_code($xml_parser)),

    xml_get_current_line_number($xml_parser)));

    }

    xml_parser_free($xml_parser);

    ?>

</body>

</html>

 

Output

xml-set-processing-instruction-handler-php.gif
You may also want to read these related articles here

Ask Your Question 

Got a programming related question? You may want to post your question here

© 2020 DotNetHeaven. All rights reserved.