Najnowsze tutoriale tworzenie stron internetowych
 

PHP xml_set_element_handler() Function


<Pełna PHP XML Reference

Definicja i Wykorzystanie

xml_set_element_handler() Funkcja określa funkcje, które zostaną wpłacone na początku i na końcu elementu w dokumencie XML.

Funkcja ta zwraca TRUE w przypadku powodzenia, FALSE w przypadku porażki.

Składnia

xml_set_element_handler(parser,start,end)

Parametr Opis
parser Wymagany. Określa XML parser do korzystania
start Wymagany. Określa funkcja do wywołania na początku elementu
end Wymagany. Określa funkcja do wywołania na końcu elementu

Funkcja określona przez "start" parametr musi mieć trzy parametry:

Parametr Opis
parser Wymagany. Określa zmienną zawierającą parsera XML wywołującego procedurę obsługi
name Wymagany. Określa zmienną zawierającą nazwę pierwiastków, który wywołuje tę funkcję, z pliku XML jako ciąg
data Wymagany. Określa tablicę zawierającą elements atrybutów z pliku XML jako ciąg

Funkcja określona przez "end" parametr musi mieć dwa parametry:

Parametr Opis
parser Wymagany. Określa zmienną zawierającą parsera XML wywołującego procedurę obsługi
name Wymagany. Określa zmienną zawierającą nazwę pierwiastków, który wywołuje tę funkcję, z pliku XML jako ciąg

Porady i uwagi

Note: Parametry początkowe i końcowe mogą być także macierz zawiera odniesienie do obiektu i nazwę metody.


Przykład

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

Wyjście z kodem powyżej będą:

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

<Pełna PHP XML Reference