PHP xml_set_element_handler() 函数

Definicja i użycie

xml_set_element_handler() 函数建立起始和终止元素处理器。

Jeśli处理器被成功的建立,该函数将返回 true;否则返回 false。

Gramatyka

xml_set_element_handler(parser,start,end)
Parametry Opis
parser Wymagane. Określa XML parser do użycia.
start Wymagane. Określa funkcję wywoływane na początku elementu.
end Wymagane. Określa funkcję wywoływane na zakończenie elementu.

z start Parametr określający funkcję musi mieć trzy parametry:

Parametry Opis
parser Wymagane. Określa zmienną, która zawiera XML parser do przetwarzania.
name Wymagane. Określa zmienną, która zawiera nazwę elementu, który wywołuje tę funkcję.
data Wymagane. Określa tablicę, która zawiera atrybuty elementu.

z end Parametr określający funkcję musi mieć trzy parametry:

Parametry Opis
parser Wymagane. Określa zmienną, która zawiera XML parser do przetwarzania.
name Wymagane. Określa zmienną, która zawiera nazwę elementu, który wywołuje tę funkcję.

Opis

start i end Parametr może być również tablicą, która zawiera odniesienia do obiektów i nazwy metod.

Przykład

<?php
$parser=xml_parser_create();
function start($parser,$element_name,$element_attrs)
  {
  switch($element_name)
    {
    case "UWAGA":
    echo "-- Uwaga --<br />";
    break; 
    case "DO":
    echo "Do: ";
    break; 
    case "FROM":
    echo "Od: ";
    break; 
    case "HEADING":
    echo "Nagłówek: ";
    break; 
    case "BODY":
    echo "Wiadomość: ";
    }
  }
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("Błąd XML: %s w wierszu %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>

Wynik:

-- Uwaga --
Do: George
Od: John
Nagłówek: Przypomnienie
Wiadomość: Nie zapomnij o spotkaniu!