Hàm PHP xml_set_processing_instruction_handler()

Định nghĩa và cách sử dụng

Hàm xml_set_processing_instruction_handler() quy định hàm được gọi khi bộ giải mã tìm thấy lệnh xử lý trong tài liệu XML.

Lệnh xử lý nằm trong dấu ngoặc kép <? và ?>.

Nếu bộ xử lý được thành công, hàm sẽ trả về true; nếu không trả về false.

Ví dụ: Trong ví dụ này, lệnh xử lý liên kết một bảng định dạng với tài liệu XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Remind</heading>
<body>Đừng quên tôi cuối tuần này!</body>
</note>

Cú pháp

xml_set_processing_instruction_handler(parser,handler)
Tham số Mô tả
parser Bắt buộc. Định nghĩa bộ giải mã XML cần sử dụng.
handler Bắt buộc. Định nghĩa một hàm.

Bởi handler Hàm được quy định bởi tham số phải có ba tham số:

Tham số Mô tả
parser Bắt buộc. Định nghĩa một biến, chứa bộ giải mã XML của bộ xử lý.
target Bắt buộc. Định nghĩa biến chứa mục tiêu hướng dẫn xử lý.
data Bắt buộc. Định nghĩa biến chứa dữ liệu hướng dẫn xử lý.

Mô tả

handler Tham số cũng có thể là một mảng, chứa tham chiếu đối tượng và tên phương thức.

Mô hình

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function pi_handler($parser, $target, $data)
  {
  echo "Mục tiêu: $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("Lỗi XML: %s tại dòng %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>