En son web geliştirme öğreticiler
 

PHP xml_parse() Function


<Komple PHP XML Referans

Tanımı ve Kullanımı

xml_parse() işlevi, bir XML belgesi ayrıştırır.

Bu fonksiyon Başarı durumunda, aksi takdirde FALSE döndürür.

Sözdizimi

xml_parse(parser,xml,end)

Parametre Açıklama
parser Gereklidir. kullanmak XML ayrıştırıcı belirtir
xml Gereklidir. XML veri ayrıştırmak belirtir
end İsteğe bağlı. Bu parametre TRUE ise veri "xml" parametresine bu ayrıştırma gönderilen verilerin son parçasıdır.

Note: Varlık hataları ayrıştırma sonunda rapor edilir. Ve eğer sadece gösterecektir "end" Parametre DOĞRU


İpuçları ve Notlar

Tip: Bir XML ayrıştırıcı oluşturmak için kullanın xml_parser_create() fonksiyonu.


Örnek 1

XML Dosyası

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

PHP Kodu

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

kodun çıktısını göreceğiz:

Tove Jani Reminder Don't forget me this weekend!

Örnek 2

aynı XML dosyası kullanma ama başka bir şekilde XML verilerini görüntüleyen:

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

kodun çıktısını göreceğiz:

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

<Komple PHP XML Referans