Ponizej kod z 3 funkcjami (otwieranie, przetwarzanie, zamykanie tagow pliku xml). Nie wiem jak przerobic kod aby do tablicy dawal tylko te wezly w ktorych np. typ_pub jest rowny 'CD'. Napewno musi by if ale gdzie jak to nie wiem?
<?
// FUNKCJA PRZETWARZAJACA OTWARCIE TAGU
function tag_start($parser, $attr, $params){
global $act_tag, $int, $ksiazki, $czy_book; if($attr == 'BOOK' && $czy_book == 1){
die('Błąd: Niedozwolone zagnieżdżenie redaktorów! :]<br>'); }elseif($attr == 'BOOK' && $czy_book == 0){
$ksiazki[$int] = new book($params['id']);
$ksiazki[$int] -> indeks = $params['INDEKS'];
$czy_book = 1;
}
if($czy_book == 1){
$act_tag = $attr;
}
}
// FUNKCJA OBROBKI TEKSTU MIEDZY ZNACZNIKAMI
function tag_text($parser, $text){
global $act_tag, $int, $ksiazki, $czy_book;
if($czy_book == 1){
switch($act_tag){
case 'TYTUL': $ksiazki[$int] -> tytul .= $text; break;
case 'AUTORZY': $ksiazki[$int] -> autorzy .= $text; break;
case 'WYDAWCA': $ksiazki[$int] -> wydawca .= $text; break;
case 'OPRAWA': $ksiazki[$int] -> oprawa .= $text; break;
case 'WYDANIE': $ksiazki[$int] -> wydanie .= $text; break;
case 'ROKWYD': $ksiazki[$int] -> rokwyd .= $text; break;
case 'OBJETOSC': $ksiazki[$int] -> objetosc .= $text; break;
case 'OPIS': $ksiazki[$int] -> opis .= $text; break;
case 'TYP_PUB': $ksiazki[$int] -> typ_pub .= $text; break;
case 'TEMATYKA': $ksiazki[$int] -> tematyka .= $text; break;
}
}
}
// FUNKCJA OBSŁUGUJĄCA ZAMYKANIE TAGÓW
function tag_end($parser, $attr){
global $act_tag, $int, $czy_book; if($attr == 'BOOK' && $czy_book == 1){
$int++;
$czy_book = 0;
}
}
?>