<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