tutorial pengembangan web terbaru
 

PHP xml_set_element_handler() Function


<Complete Referensi PHP XML

Definisi dan Penggunaan

The xml_set_element_handler() fungsi menetapkan fungsi untuk dipanggil pada awal dan akhir dari suatu elemen dalam dokumen XML.

Fungsi ini mengembalikan TRUE pada keberhasilan, atau FALSE pada kegagalan.

Sintaksis

xml_set_element_handler(parser,start,end)

Parameter Deskripsi
parser Wajib. Menentukan parser XML untuk digunakan
start Wajib. Menentukan fungsi untuk dipanggil pada awal elemen
end Wajib. Menentukan fungsi untuk dipanggil pada akhir elemen

Fungsi ditentukan oleh "start" parameter harus memiliki tiga parameter:

Parameter Deskripsi
parser Wajib. Menentukan variabel yang berisi parser XML memanggil pawang
name Wajib. Menentukan variabel yang berisi nama elemen, yang memicu fungsi ini, dari file XML sebagai string
data Wajib. Menentukan array yang berisi elements atribut dari file XML sebagai string

Fungsi ditentukan oleh "end" parameter harus memiliki dua parameter:

Parameter Deskripsi
parser Wajib. Menentukan variabel yang berisi parser XML memanggil pawang
name Wajib. Menentukan variabel yang berisi nama elemen, yang memicu fungsi ini, dari file XML sebagai string

Tips dan Catatan

Note: Parameter awal dan akhir juga dapat menjadi array yang berisi referensi obyek dan nama metode.


Contoh

<?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);
?>

Output dari kode di atas akan menjadi:

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

<Complete Referensi PHP XML