tutorial pengembangan web terbaru
 

PHP xml_parse() Function


<Complete Referensi PHP XML

Definisi dan Penggunaan

The xml_parse() fungsi mem-parsing dokumen XML.

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

Sintaksis

xml_parse(parser,xml,end)

Parameter Deskripsi
parser Wajib. Menentukan parser XML untuk digunakan
xml Wajib. Menentukan data XML untuk mengurai
end Pilihan. Jika parameter ini TRUE, data di "xml" parameter adalah bagian terakhir dari data yang dikirim dalam mengurai ini.

Note: kesalahan Entity dilaporkan pada akhir parse. Dan hanya akan menunjukkan jika "end" parameter adalah TRUE


Tips dan Catatan

Tip: Untuk membuat parser XML, gunakan xml_parser_create() fungsi.


contoh 1

file XML

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

Kode PHP

<?php
$parser=xml_parser_create();

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

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:

Tove Jani Reminder Don't forget me this weekend!

contoh 2

Menggunakan file XML yang sama tetapi menampilkan data XML dengan cara lain:

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