• PHP Video Tutorials

PHP - xmlwriter_write_pi() Function



Definition and Usage

XML is a mark-up language to share the data across the web, XML is for both human read-able and machine read-able. XMLWriter extension internally has libxml xmlWriter API and is used to write/create the contents of an XML document. The XML documents generated by this are non-cached and forward-only.

The xmlwriter_write_pi() function accepts an object of the XMLWriter class and two string values representing the target of the processing instruction and its value as parameters, and creates full PI tag.

Syntax

xmlwriter_end_pi($writer);

Parameters

Sr.No Parameter & Description
1

writer(Mandatory)

This is an object of the XMLWriter class representing the XML document that you want to modify/create.

2

str(Mandatory)

This is a string value representing the target of the processing instruction.

3

content(Mandatory)

This is a sting value representing the contents of the PI instruction.

Return Values

This function returns a boolean value which is TRUE in case of success and FALSE in case of failure.

This function was first introduced in PHP Version 5 and works in all the later versions.

Example

Following example demonstrates the usage of the xmlwriter_write_pi() function −

<?php
   //Opening a writer
   $uri = "result.xml";
   $writer = xmlwriter_open_uri($uri);

   //Setting the indentation on
   xmlwriter_set_indent($writer, TRUE);

   //Starting the document
   xmlwriter_start_document($writer);
   xmlwriter_set_indent_string($writer, "  ");

   //Creating the PI tag
   xmlwriter_write_pi($writer, 'php', 'echo $a;');

   //Setting the indentation
   xmlwriter_set_indent_string($writer, "    ");

   //Starting an element
   xmlwriter_start_element($writer, 'Tutorial');
   xmlwriter_start_element($writer, 'name');
   
   //Adding text to the element
   xmlwriter_text($writer, 'JavaFX');  
   xmlwriter_end_element($writer);
   xmlwriter_start_element($writer, 'Author');
   
   //Adding text to the element
   xmlwriter_text($writer, 'Krishna');  
   xmlwriter_end_element($writer);

   //Ending the element
   xmlwriter_end_element($writer);
   
   //Ending the document
   xmlwriter_end_document($writer);
?> 

This will generate the following XML document −

<?xml version="1.0"?>
<!ATTLIST sample_dtd_list>
<Tutorial>
   <name>JavaFX</name>
   <Author>Krishna</Author>
</Tutorial>

Example

Following is the example of this function in object oriented style −

<?php
   //Creating an XMLWriter
   $writer = new XMLWriter();

   //Opening a writer
   $uri = "result.xml";
   $writer->openUri($uri);

   //Starting the document
   $writer->startDocument();

   //Setting the indentation on
   $writer->setIndent(TRUE);
   
   //Setting the indentation
   $writer->setIndentString("    ");

   //Starting the Dtd Attlist tag
   $writer->startDtdAttlist('sample_dtd_list');

   //Ending the Dtd Attlist tag
   $writer->endDtdAttlist(); 

   //Starting an element
   $writer->startElement('Tutorial');
   $writer->startElement('name');
   
   //Adding text to the element
   $writer->text('JavaFX');  
   $writer->endElement();
   $writer->startElement('Author');
   
   //Adding text to the element
   $writer->text('Krishna');  
   $writer->endElement();

   //Ending the element
   $writer->endElement();
   
   //Ending the document
   $writer->endDocument();
?> 

This will generate the following XML document −

<?xml version="1.0"?>
<!ATTLIST sample_dtd_list>
<Tutorial>
   <name>JavaFX</name>
   <Author>Krishna</Author>
</Tutorial>
php_function_reference.htm
Advertisements