Ultimele tutoriale de dezvoltare web
 

PHP xml_set_element_handler() Function


<Complete Reference PHP XML

Definiție și utilizare

xml_set_element_handler() funcția specifică funcțiile care urmează să fie numit la începutul și sfârșitul unui element din documentul XML.

Această funcție returnează TRUE în caz de succes, sau FALSE în caz de eșec.

Sintaxă

xml_set_element_handler(parser,start,end)

Parametru Descriere
parser Necesar. Specifică parser XML pentru a utiliza
start Necesar. Specifică o funcție care urmează să fie numit la începutul unui element
end Necesar. Specifică o funcție care urmează să fie numit la sfârșitul unui element

Funcția specificată de "start" parametru trebuie să aibă trei parametri:

Parametru Descriere
parser Necesar. Specifică o variabilă care conține parser XML de asteptare handler
name Necesar. Specifică o variabilă care conține denumirea elementelor, care declanșează această funcție, din fișierul XML ca un șir de caractere
data Necesar. Specifică o matrice care conține elements de atribute din fișierul XML ca un șir de caractere

Funcția specificată de "end" parametru trebuie să aibă doi parametri:

Parametru Descriere
parser Necesar. Specifică o variabilă care conține parser XML de asteptare handler
name Necesar. Specifică o variabilă care conține denumirea elementelor, care declanșează această funcție, din fișierul XML ca un șir de caractere

Sfaturi și note

Note: Parametrii de început și sfârșit pot fi , de asemenea , o matrice care conține un obiect de referință și un nume de metodă.


Exemplu

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

Ieșirea codului de mai sus va fi:

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

<Complete Reference PHP XML