En son web geliştirme öğreticiler
 

PHP XML Expat Ayrıştırıcı


Yerleşik XML Expat Ayrıştırıcı mümkün PHP XML belgeleri işlemek için yapar.


XML Expat Ayrıştırıcı

Expat çözümleyici bir olay tabanlı ayrıştırıcısıdır.

Aşağıdaki XML fraksiyonu bak:

<from>Jani</from>

Olay tabanlı ayrıştırıcı üç bir dizi etkinlik olarak yukarıdaki XML raporlar:

  • eleman başlatın: dan
  • CDATA bölümü, başlangıç ​​değeri: Jani
  • Yakın öğe: dan

XML Expat Ayrıştırıcı fonksiyonlar PHP çekirdeğinin bir parçasıdır. Bu işlevleri kullanmak için gerekli yüklemesi yoktur.


XML Dosyası

XML dosyası "note.xml" Aşağıdaki örnekte kullanılacaktır:

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

XML Expat Ayrıştırıcı başlatılıyor

Biz, PHP XML Expat Ayrıştırıcı başlatmak farklı XML olayları için bazı işleyicileri tanımlamak ve sonra XML dosyasını ayrıştırmak istiyor.

Örnek

<?php
// Initialize the XML parser
$parser=xml_parser_create();

// Function to use at the start of an element
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 to use at the end of an element
function stop($parser,$element_name) {
  echo "<br>";
}

// Function to use when finding character data
function char($parser,$data) {
  echo $data;
}

// Specify element handler
xml_set_element_handler($parser,"start","stop");

// Specify data handler
xml_set_character_data_handler($parser,"char");

// Open XML file
$fp=fopen("note.xml","r");

// Read data
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)));
}

// Free the XML parser
xml_parser_free($parser);
?>
»Run örnek

Örnek açıklanmıştır:

  1. XML ayrıştırıcı başlat xml_parser_create() fonksiyonu
  2. Farklı olay işleyicileri ile kullanmak fonksiyonlarını oluşturun
  3. Ekle xml_set_element_handler() ayrıştırıcı açılış ve kapanış etiketleri karşılaştığında yerine getirileceği işlevi belirtmek için işlev
  4. Ekle xml_set_character_data_handler() ayrıştırıcı karakter verilerini karşılaştığında prosedürünü hangi işlevi belirtmek için işlev
  5. Dosyasını ayrıştırma "note.xml" ile xml_parse() işlevini
  6. Bir hata durumunda, ekleme xml_error_string() bir metin açıklaması için bir XML hatası dönüştürmek için işlevi
  7. Çağrı xml_parser_free() ile ayrılan belleği serbest bırakmak için işlevini xml_parser_create() fonksiyonu

Daha PHP XML Expat Ayrıştırıcı

PHP Expat işlevleri hakkında daha fazla bilgi için lütfen ziyaret PHP XML Ayrıştırıcı Referansı.