Listing 26.3. Skrypt wypełniający bazę danych z rysunku 26.3 na podstawie pliku tcs.xml
$tcs = simplexml_load_file('tcs.xml');
foreach ($tcs->turniej as $turniej) {

    $dane_turnieju = array(
        'rok'  => $turniej->rok,
        'slug' => string2slug($turniej->rok)
    );
    $objTurniej = TurniejPeer::insertIfNotExists($dane_turnieju);

    foreach ($turniej->miejsce as $miejsce) {
    
        $dane_panstwa = array(
            'panstwo'  => $miejsce->sportowiec->panstwo,
            'slug' => string2slug($miejsce->sportowiec->panstwo)
        );
        $objPanstwo = PanstwoPeer::insertIfNotExists($dane_panstwa);
        
        $dane_zawodnika = array(
            'imie'     =>  $miejsce->sportowiec->imie,
            'nazwisko' => $miejsce->sportowiec->nazwisko,
            'panstwo_id' => $objPanstwo->getPanstwoId(),
            'slug' => string2slug(
                $miejsce->sportowiec->nazwisko . ' ' . $miejsce->sportowiec->imie
            )
        );
        $objZawodnik = ZawodnikPeer::insertIfNotExists($dane_zawodnika);
        
        $thz = new TurniejHasZawodnik();
        $thz->setZawodnik($objZawodnik);
        $thz->setTurniej($objTurniej);
        $thz->setMiejsce($miejsce->numer);
        try {
            $thz->save();
        } catch (PropelException $e) {
            echo 'ERROR: ' . $e->getMessage() . "\n";
        }
        
    }
}
