Ludzie przeciez wy napewno wiecie jak to zrobic a ja juz nad tym siedze tygodniami i nic. Jak napisac warunek do ponizszej funkcji (ktora do tablicy $ksiazki przekazuje wartosci tagow w wezlach) warunek na to aby to pobieranie bylo ograniczone tylko do wezlow w ktorych tag <typ_pub> ma wartosc CD. Przyklad pliku XML:

  1. <books>
  2. <book indeks="34780800205KS">
  3.         <autorzy><![CDATA[Andrzejewski Jerzy]]></autorzy>
  4.         <tytul><![CDATA[Noc i inne opowiadania]]></tytul>
  5.         <typ_pub>KS</typ_pub>
  6.  </book>
  7.  
  8. <book indeks="34780800205CD">
  9.          <autorzy><![CDATA[Ktos tam]]></autorzy>
  10.          <tytul><![CDATA[Cos tam]]></tytul>
  11.          <typ_pub>CD</typ_pub>
  12.  
  13. </books>


i teraz chodzi o to zeby przepisal tylko to gdzie <typ_pub> ma wartosc CD.
Ponizej funkcja na przetwarzanie tagow (jezeli do napisania powyzszego warunku potrzebny bedzie caly kod napiszcie):

  1. <?php
  2. function tag_text($parser, $text){
  3.       global $act_tag, $int, $ksiazki, $czy_book;
  4.  
  5.       if($czy_book == 1){
  6.          switch($act_tag){
  7.             case 'TYTUL': $ksiazki[$int] -> tytul .= $text; break;
  8.             case 'AUTORZY': $ksiazki[$int] -> autorzy .= $text; break;
  9.             case 'WYDAWCA': $ksiazki[$int] -> wydawca .= $text; break;
  10.             case 'OPRAWA': $ksiazki[$int] -> oprawa .= $text; break;
  11.             case 'WYDANIE': $ksiazki[$int] -> wydanie .= $text; break;
  12.             case 'ROKWYD': $ksiazki[$int] -> rokwyd .= $text; break;
  13.             case 'OBJETOSC': $ksiazki[$int] -> objetosc .= $text; break;
  14.             case 'OPIS': $ksiazki[$int] -> opis .= $text; break;
  15.             case 'TYP_PUB': $ksiazki[$int] -> typ_pub .= $text; break;
  16.             case 'TEMATYKA': $ksiazki[$int] -> tematyka .= $text; break;
  17.          }
  18.       }
  19.    }
  20.  
  21. ?>