Gli ultimi tutorial di sviluppo web
 

PHP xml_set_processing_instruction_handler() Function


<Completa PHP XML

Definizione e l'utilizzo

Il xml_set_processing_instruction_handler() la funzione specifica una funzione da chiamare quando il parser trova un'istruzione di elaborazione nel documento XML.

Un'istruzione di elaborazione è racchiuso in <? e?> delimitatori e contiene obiettivo aa seguito da dati.

Esempio: In questo caso, l'istruzione di elaborazione associa un foglio di stile, con un documento XML:

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

Questa funzione restituisce TRUE se ha successo, oppure FALSE in caso di fallimento.

Sintassi

xml_set_processing_instruction_handler(parser,handler)

Parametro Descrizione
parser Necessario. Specifica parser XML da usare
handler Necessario. Specifica una funzione da quando il parser trova una dichiarazione di notazione

La funzione specificata dal "handler" parametro deve avere tre parametri:

Parametro Descrizione
parser Necessario. Specifica una variabile che contiene il parser XML chiamante il gestore
target Necessario. Specifica una variabile contenente target istruzione di elaborazione
data Necessario. Specifica una variabile contenente dati di istruzioni di elaborazione

Suggerimenti e Note

Note: Il parametro conduttore può anche essere un vettore contenente un riferimento oggetto e un nome di metodo.


Esempio

<?php $parser=xml_parser_create();

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

function pi_handler($parser, $target, $data)
  {
  echo "Target: $target<br />";
  echo "Data: $data<br />";
  }

xml_set_character_data_handler($parser,"char");
xml_set_processing_instruction_handler($parser, "pi_handler");
$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);
?>

<Completa PHP XML