<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<?
$nas_soubor="./finance.xml";
$jeprijem=false;
$znacka="";
$bilance=0;
//co se má stát, když narazíme na počáteční a koncovou značku
function PocatecniZnacka ($parser, $nazev, $atributy)
{
global $znacka;
global $jeprijem;
$znacka=$nazev;
if ($znacka=="PRIJEM") $jeprijem=true;
if ($znacka=="VYDAJ") $jeprijem=false;
}
function KoncovaZnacka ($parser, $nazev) {}
function data ($parser, $data)
{
global $znacka;
global $bilance;
global $jeprijem;
if ($znacka=="CASTKA" and $jeprijem) $bilance+=$data;
if ($znacka=="CASTKA" and !$jeprijem) $bilance-=$data;
}
$nas_parser=xml_parser_create();
xml_set_element_handler ($nas_parser, "PocatecniZnacka", "KoncovaZnacka");
xml_set_character_data_handler($nas_parser, "data");
// fáze 3) vlastní čtení souboru, práce s ním a ukončení parseru
if (!($obsahsouboru = fopen($nas_soubor, "r")))
die("Nemohu otevřít XML pro čtení.");
while ($data = fread($obsahsouboru, 1024))
xml_parse($nas_parser, $data, feof($obsahsouboru));
xml_parser_free($nas_parser);
echo $bilance;
?>