[#] Konwersja tablicy w php do xml

( Ostatnio zmieniony śr., 11/06/2008 - 12:34 )
 
<?php

  $tablica = array(
    "imie" => "Tomek",
    "nazwisko" => "Nazwiskowy",
    "nr_tel" => 666444213,
    "adres" => array(
      "ulica" => "Ptasia",
      "miasto" => "Gostyń",
      "kod_pocztowy" => "66-201"
    ),
    "plec" => array(
      "mezczyzna" => array(
        "stan" => "kawaler"
      )
    )
  );

  $xml = new XmlWriter();
  $xml->openMemory();
  $xml->startDocument('1.0', 'UTF-8');
  $xml->startElement('root');


  function write(XMLWriter $xml, $tablica) {
    foreach($tablica as $key => $value) {
      if(is_array($value)) {
        $xml->startElement($key);
        write($xml, $value);
        $xml->endElement();
        continue;
      }
      $xml->writeElement($key, $value);
    }
  }

  write($xml, $tablica);

  $xml->endElement();
  echo $xml->outputMemory(true);

?>

W wyniku otrzymamy taki kod XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <imie>Tomek</imie>
  <nazwisko>Nazwiskowy</nazwisko>
  <nr_tel>666444213</nr_tel>
  <adres>
   <ulica>Ptasia</ulica>
   <miasto>Gostyń</miasto>
   <kod_pocztowy>66-201</kod_pocztowy>
  </adres>
  <plec>
  <mezczyzna>
     <stan>kawaler</stan>
  </mezczyzna>
  </plec>
</root>
Twoja ocena: Brak Średnio: 5 (2 głosy)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
k
C
3
4
6
w
b
c
z
v
Enter the code without spaces and pay attention to upper/lower case.