ZALOGUJ SIĘ
login:
hasło:
przypomnij hasło
załóż konto użytkownika
(i zobacz kilka porad gratis)
   
WYSZUKIWARKA I DZIAŁY
całe porady  tytuły
zaznacz działy do przeszukania
(brak wyboru = wszystkie działy)
PHP
MySQL >
PostgreSQL
SQLite
Perl
Java
XML
XSLT
XPath
WML
SVG
RegExp
Wyszukiwarki
Ochrona
VBScript
XHTML/CSS
JavaScript
Grafika
Flash
Photoshop
Windows
Linux
Bash
Apache
Procmail
E-biznes
Explorer
Opera
Firefox
Inne porady
   
KURSY, DOKUMENTACJE
Własne:
XHTML/CSS
JavaScript
ActionScript
WML, RSS, SSI
Pozostałe:
PHP
MySQL
Java API
więcej...
   
użytkowników online: 137
W CZYM MOGĘ POMÓC?


   
USŁUGI
Tworzenie/prowadzenie stron
Pisanie/modyfikacje skryptów
Systemy CMS, bazy danych
Szkolenia, doradztwo, audyty
Sprzedaż zdjęć i usługi foto
   
OPINIE UŻYTKOWNIKÓW
Mimo, że strony WWW tworzymy już 5 lat zawsze znajdziemy coś ciekawego. Świadczy o tym chociażby nasza aktówka, w której znajduje się kilkadziesiąt porad, z których często korzystamy. Otwarta forma poradnika, czyli możliwość podrzucania tematów oraz wspólny ich rozwój, to nieoceniona pomoc. Uważam, ze abonament roczny jest niewspółmiernie niski do jakości zaprezentowanych materiałów.

Marek Kończal
Internetix.pl

   
GALERIA FOTOGRAFII
   
PORADY - tysiące sprawdzonych rozwiązań dla programistów i webmasterów
aktualizacja porady: 2005-09-19 18:46:24

[PHP][XML] Jak przetworzyć złożone dokumenty XML do postaci tablicy w PHP?

PROBLEM

Chcesz przetworzyć dokument XML do postaci tablicy, do której łatwo się odwołać w celu pobrania wartości zawartych w znacznikach.

ROZWIĄZANIEnoselect

Przetwarzanie dokumentów XML to kluczowe zagadnienie podczas obróbki danych pochodzących z różnych źródeł. Aby ułatwić sobie sprawę odwoływania się do poszczególnych wartości znajdujących się wewnątrz struktury XML, możesz napisać parser, który zamieni dokument XML na prostą tablicę. Tablica jest łatwa do ogarnięcia...

Załóżmy, że nasz plik ksiazki.xml zawiera następujące dane:

<?xml version='1.0' encoding='iso-8859-2'?>
<ksiazki>
 
  <ksiazka id="8">
    <autorzy>
      <autor>Scott Kelby</autor>
      <autor>Felix Nelson</autor>
    </autorzy>
    <tytul>Photoshop7 skuteczne rozwiązania</tytul>
    <opis>Porady i triki dla Adobe Photoshop</opis>
    <wydawnictwo>Helion</wydawnictwo>
  </ksiazka>
 
  <ksiazka id="13" uwaga="jest trochę zniszczona...">
    <autorzy>
      <autor>Wiktor Suworow</autor>
    </autorzy>
    <tytul>Specnaz</tytul>
    <opis>Historia sił specjalnych Armii Radzieckiej</opis>
  </ksiazka>
 
  <ksiazka id="27">
    <autorzy>
      <autor>Antony Smith</autor>
    </autorzy>
    <tytul>Umysł</tytul>
  </ksiazka>
 
</ksiazki>

Po przekształceniu na postać tablicy, do każdej wartości w pliku możesz odwołać się, jak do normalnej tablicy:

$t["ksiazki"][0]["ksiazka"][0]["autorzy"][0]["autor"][0]="Scott Kelby";
$t["ksiazki"][0]["ksiazka"][0]["autorzy"][0]["autor"][1]="Felix Nelson";
$t["ksiazki"][0]["ksiazka"][0]["tytul"][0]="Photoshop7 skuteczne...";
$t["ksiazki"][0]["ksiazka"][0]["opis"][0]="Porady i triki dla...";
$t["ksiazki"][0]["ksiazka"][0]["wydawnictwo"][0]="Helion";
$t["ksiazki"][0]["ksiazka"][1]["autorzy"][0]["autor"][0]="Wiktor Suworow";
$t["ksiazki"][0]["ksiazka"][1]["tytul"][0]="Specnaz";
$t["ksiazki"][0]["ksiazka"][1]["opis"][0]="Historia sił specjalnych...";
$t["ksiazki"][0]["ksiazka"][2]["autorzy"][0]["autor"][0]="Antony Smith";
$t["ksiazki"][0]["ksiazka"][2]["tytul"][0]="Umysł";

Oprócz indeksów bedących elementami XML, używam też indeksów liczbowych, aby rozróżnić np. różnych autorów w jednym rekordzie lub wiele książek wewnątrz struktury. Mogę w ten sposób odwołać się do dowolnego miejsca w strukturze XML.

Takie rozwiązanie daje niesamowite możliwości. Aby wypisać tylko wszystkich autorów dla wszystkich książek wystarczy wykonać dwie pętle:

for($i=0;$i<count($t["ksiazki"][0]["ksiazka"]);$i++) {
 for($j=0;$j<count($t["ksiazki"][0]["ksiazka"][$i]["autorzy"][0]["autor"]);
 $j++) {
    echo $t["ksiazki"][0]["ksiazka"][$i]["autorzy"][0]["autor"][$j];
    echo "<br />";
  }
}

Napiszmy taki parser, z pewnością nie raz uratuje Ci cały dzień pracy i zmieni Twoje podejście do zagmatwanego XMLa.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UWAGA! To tylko fragment strony! Całą zobaczysz po opłaceniu abonamentu!

ZALOGUJ SIĘ I ZAMÓW ABONAMENT ABY KORZYSTAĆ Z TEJ CZĘŚCI SERWISU
login:
hasło:
przypomnij hasło
załóż konto użytkownika
(i zobacz kilka porad gratis)
Dostęp do oglądanej strony jest płatny.
Całą zawartość strony zobaczysz
po zalogowaniu się i opłaceniu abonamentu.
 
Jeżeli nie masz konta użytkownika, założ konto!
   
Oto garść powodów, dla których warto założyć konto użytkownika:
Założenie konta użytkownika jest proste i bezpłatne.
Od razu zobaczysz kilka wybranych porad gratis.
Po opłaceniu abonamentu otrzymasz dostęp do wszystkich porad.
Przystąpisz do Programu Partnerskiego, który pozwala uzyskać darmowy abonament!
Zaprenumerujesz przydatny newsletter z poradami i nowościami.
Będziesz mieć dostęp do własnej, wygodnej aktówki i profilu.
Zyskasz możliwość korzystania z różnych promocji i upustów dla klientów serwisu.
Oto garść powodów, dla których warto zamówić abonament:

W jednym miejscu znajdziesz tysiące fachowych porad, kursy, encyklopedię pojęć oraz przydatne narzędzia, dzięki czemu nie tracisz czasu, impulsów telefonicznych i pieniędzy na pozyskiwanie wiedzy. Tutaj dostaniesz gotowe i sprawdzone rozwiązania problemów, z którymi spotykasz się w praktyce.

Dzięki poradom dowiesz się, w jaki sposób wykorzystać najnowsze technologie, aby tworzyć profesjonalne serwisy i rozwiązania. Doradzę Ci, jak skonstruować i wypromować swoje strony, zwiększyć oglądalność, pozyskać klientów i rozwinąć biznes w Internecie, który będzie przynosił zyski!

Kody programów i skrypty działają natychmiast po wstawieniu ich na strony WWW. Tylko tutaj znajdziesz tak wiele unikatowych algorytmów, autorskich pomysłów i przydatnych artykułów. Dowiesz się, jak zapewnić bezpieczeństwo, zwiększyć wydajność oprogramowania i poprawić jakość serwisów WWW i baz danych.

Od kilkunastu lat zajmuję się zawodowo programowaniem oraz tworzeniem stron WWW, co gwarantuje bardzo wysoką jakość i skuteczność opisywanych rozwiązań. Potwierdzają to opinie użytkowników. Możesz też liczyć na pomoc i wsparcie przy wdrażaniu porad na własnej stronie.

Nie musisz wydawać kilku tysięcy złotych na programistów, konsultantów, promocję czy też reklamę swojej witryny. Te same efekty osiągniesz czytając porady i stosując się do konkretnej wiedzy, która podana jest w sposób przyjazny nawet dla laika.

Nigdzie nie kupisz książek, czasopism i publikacji, które w cenie abonamentu dostarczą Ci tak wiele gotowych rozwiązań. Na żadnych szkoleniach i kursach nie zdobędziesz tylu praktycznych umiejętności i wiadomości. Dzięki zdobytej wiedzy znacznie podniesiesz swoje kwalifikacje i znajdziesz o wiele lepszą pracę.

Z serwisu korzystają zarówno początkujący webmasterzy, jak i największe polskie firmy, banki, dostawcy usług internetowych, wykładowcy, webdeweloperzy oraz agencje interaktywne. To potwierdzenie jakości i wysokiego poziomu informacji - sprawdzanej i weryfikowanej w praktyce przez wielu niezależnych klientów.

Zamawiając abonament pomagasz rozwijać serwis, który będzie Ci służyć jeszcze większą ilością porad i rozwiązań, lepszym wsparciem technicznym oraz unikatowymi, fachowymi publikacjami, których realizacja wymaga ogromnych nakładów czasu i pracy.

Skorzystasz z Programu Partnerskiego - biorąc w nim udział możesz zapewnić sobie BEZPŁATNY dostęp do serwisu z poradami!

Słowa kluczowe dla porady

skrypt PHP, skrypty PHP, porady, porady php, programowanie php, kurs php, parser, parsować

zobacz wszystkie książki informatyczne poświęcone programowaniu

 
  © 1996-2009 & Reporter.plmiejscao serwisieabonamentwarunki korzystaniaRSSkontakt