przewiń do treści

PHP, MySQL i MVC. Tworzenie witryn WWW opartych na bazie danych

Włodzimierz Gajda

$serializer = new XML_Serializer();

$options = array(
  'addDecl'        => true,
  'indent'         => '    ',
  'rootName'       => 'mecze',
  'encoding'       => 'utf-8',
  'defaultTagName' => 'mecz',
  'scalarAsAttributes' => array(
    'mecz' => array('rok', 'miesiac', 'dzien')
  )
);

$serializer->setOptions($options);

$dane = array();

$plik = file('mecze.txt');
foreach ($plik as $linia) {
  $e = explode('|', trim($linia));
  $tmp = array(
    'kolejka' => $e[0],
    'gospodarz' => $e[1],
    'przeciwnik' => $e[2],
    'wynik' => array(
      'koncowy' => array(
        'gol1' => $e[3],
        'gol2' => $e[4],
      ),
      'do-przerwy' => array(
        'gol3' => $e[5],
        'gol4' => $e[6],
      )
    ),
    'rok' => $e[7],
    'miesiac' => $e[8],
    'dzien' => $e[9],
    'godz' => $e[10],
    'min' => $e[11],
    'sedzia-glowny' => array(
      'imie' => $e[12],
      'nazwisko' => $e[13],
      'miasto' => $e[14],
    ),
    'sedzia-liniowy-1' => array(
      'imie' => $e[15],
      'nazwisko' => $e[16],
    ),
    'sedzia-liniowy-2' => array(
      'imie' => $e[15],
      'nazwisko' => $e[16],
    )
  );
  array_push($dane, $tmp);
}

$serializer->serialize($dane);
$wynik = $serializer->getSerializedData();
file_put_contents('mecze.xml', $wynik);

Listing 28.10. Rozwiązanie projektu 28.2

Rozdział 28. XML_Serializer, XML_Unserializer - dwukierunkowe transformacje tablic w XML

listing-28-10.txt

Reklama

Szkolenia z Symfony 2.0