wtorek, 7 maja 2013

XML w praktyce vol 3 - krótki wstęp do SimpleXML

XML jest na tyle powszechnym formatem, że wiele współczesnych języków programowania oferuje biblioteki pomocne w przetwarzaniu tych plików. W sieci dostępne są też konwertery do formatu .csv, .txt czy nawet xls. Osobiście odradzam korzystania z takich uniwersalnych rozwiązań, gdyż jeśli coś jest do wszystkiego, to tak naprawdę jest do ...... niczego. Poza tym pisząc własny parser dane możemy przetworzyć do potrzebnej nam postaci. A jak się wkrótce przekonamy nie jest to jakieś super trudne zadanie.
PHP implementuje kilka bibliotek do odczytu plików XML. Więcej na ten temat można znaleźć na stronie: http://php.net/manual/pl/refs.xml.php. W sieci krąży wiele opinii na temat, która z nich jest lepsza, szybsza wydajniejsza. Ja chciałbym zaproponować rozwiązanie, które pojawiło się w piątej wersji PHP. Jest nim SimpleXML. Jak sama nazwa mówi, praca powinna być lekka, łatwa i przyjemna.
Rozszerzenie SimpleXML konwertuje XML'a do obiektu, po którym możemy przemieszczać się przy pomocy normalnych selektorów oraz iteratorów tablicowych.

1. Tworzenie obiektu

Obiekt SimpleXML możemy utworzyć za pomocą jednej z trzech funkcji:
a) simplexml_load_file ($file) - konwertuje
plik XML na obiekt
Przykład:

$file = 'ścieżka/do/plik.xml';

$xml = simplexml_load_file($file);


b) simlplexml_load_string ($string) - konwertuje string na obiekt
Przykład
$string = <<

 Jan
 Kowalski

XML;

$xml = simplexml_load_string($string);
A teraz bardziej przydatna opcja, czyli ładowanie pliku dostępnego w sieci:
$string = 'url/do/plik.xml';
$xml = simplexml_load_string($string); 

c) simlplexml_import_dom($dom) - importuje wskazany węzeł DOM na obiekt
Przykład

$string = <<

 
   Jan
   Kowalski
 

XML;

$dom = new DOMDocument();
$dom->loadXML('string');

simlplexml_import_dom($dom)

Brak komentarzy:

Prześlij komentarz