Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Parsowanie dokumentu XML
Forum PHP.pl > Forum > PHP > Object-oriented programming
.rh-
Witam serdecznie
Mam pytanie czysto merytoryczne. Otoz, napisalem kod ktory ma zparsowac plik xml o podanej nizej budowie:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <conf>
  3.        <sec id="db.config">
  4.                <param id="dbName">db</param>
  5.                <param id="dbLogin">ppp</param>
  6.                <param id="dbPass">pppp</param>
  7.                <param id="dbHost">127.0.0.1</param>
  8.        </sec>
  9.        <sec id="pl.language.config">
  10.                <param id="100">Witam</param>
  11.                <param id="150">Wyslij emaila</param>
  12.                <param id="160">Jak sie masz</param>
  13.        </sec>
  14. </conf>


W kodzie php ktory jest odpowiedzialny za te czynnosci mam dwie tablice

  1. <?php
  2. public $allData = array();
  3. public $allD = array();
  4. ?>


W jednej przechowoje nazwe parametru ,a w innej wartosc tegoz parametru.

I teraz pytanie, czy robiac cos takiego:

  1. <?php
  2.  
  3.  public function getAllData() {
  4. // ** lacze dwie tabele... aby otrzymac jedna w postaci opcja->wartosc
  5. $this->allD=array_combine($this->allD,$this->allData);
  6. return print_r($this->allD);
  7. }
  8.  
  9. ?>


czy przypadkiem nie ide na okolo, czy to wogole ma rece i nogi? Wprawdzie otrzymuje zamierzony efekt, ale nie bardzo mnie to cieszy...

Pozdrawiam!
mariuszn3
Czy parsujesz ten plik korzystając z jednego z rozszerzen php.. czy napisałes swój kod do sczytania pliku i wyciągnięcia potrzebnych danych? Jesli to drugie, to idziesz na około.
.rh-
Cytat(mariuszn3 @ 2006-04-09 20:44:13)
Czy parsujesz ten plik korzystając z jednego z rozszerzen php.. czy napisałes swój kod do sczytania pliku i wyciągnięcia potrzebnych danych? Jesli to drugie, to idziesz na około.

Zakladajac ze wybralem 2 rozwiazanie. Mozesz umotywowac dlaczego poszedl bym na okolo?

Pozdrawiam!
matid
Cytat(.rh- @ 2006-04-09 21:56:05)
Zakladajac ze wybralem 2 rozwiazanie. Mozesz umotywowac dlaczego poszedl bym na okolo?

1. Po co pisać coś, co już zostało napisane?
2. Natywna obsługa plików XML jest szybsza, bo AFAIK napisana w C/C++.
.rh-
Cytat
1. Po co pisać coś, co już zostało napisane?

Szanuje ludzi ktorzy tak mysla ale ja definitywnie niezgadzam sie z takim podejsciem. A co jesli ktos chce praktykowac swoje umiejetnosci?. Hmm, najlepiej to wogole zrobic skrypt(program) ktory jest zlepkiem innych skryptow(programow).

BDW: W takim razie po co pisac skrypty, przeciez wszystko juz jest napisane..smile.gif? Tylko brac i uzywac(kopjowac) tongue.gif
mariuszn3
Sam zaczynająć zabawę z dokumentami XML z rozpędu zacząłem od pisania własnej klasy, która to budowała drzewo DOM do tablicy. Było troszkę zabawy, bo musiałem do każdego rekordu tablicy dostawić odwołania do rodziców itd. Szczęsliwie nie za późno zacząłem czytać o gotowych obiektach stworzonych własnie do tego typu czynnosci. Wywaliłem cały swój kod i zastąpiłem go kodem opartym o php'owe obiekty DOM. Każda z metod mojej klasy skróciła się z 7-10 linijek do 1-2, o wydajnosci nie wspomnę jak jeszcze poduczyłem się o xpath to się za głowę złapałem - jak wiele można osiągnąć jak szybko i zaledwie w kilku linijkach kodu.

Tak naprawdę podchodzisz bardzo naiwnie i marnujesz swój czas. Ucząc się nowych dedykowanych narzędzi nawet nie wiesz jak bardzo dzięki nim będziesz mógł zwiększyć swoją wydajnosć.
To co ty robisz to tak jak pisanie funkcji strpos() substr() w php.
Może w ogóle przestan korzystać z funkcji php tylko napisz swoje na nowo ;-)
Albo napisz swoje php ;-)
.rh-
Cytat
Sam zaczynająć zabawę z dokumentami XML z rozpędu zacząłem od pisania własnej klasy...


Dzieki za informacje. Wieze ze Twoja sugestia plynie z Twoich wlasnych doswiadczen, dlatego przyjmuje je do swojej kolejki:) Najprawdopodobniej minie troche czasu zanim przyznam Ci racje;)

Cytat
To co ty robisz to tak jak pisanie funkcji strpos() substr() w php.

Pisalem, pisalem:-) lecz w cpp:-)


Cytat
Może w ogóle przestan korzystać z funkcji php tylko napisz swoje na nowo ;-)
ciekawe:) przemysle...

Cytat
Albo napisz swoje php ;-)

w chwili obecnej nie widze takiej potrzeby;-)
pawel_k
Cytat(.rh- @ 2006-04-10 16:42:50)
Najprawdopodobniej minie troche czasu zanim przyznam Ci racje;)

dobra rada, zrób to jak najszybciej, będziesz o wiele lepszym programistą... sam bylem uparty i pisalem swoje klasy, a to do obsługi bazy, a to do innych pierdół... nie ma sensu, marnujesz czas, szczególnie jak to ma być kolejna klasa do obsługi XML'a...
matipl
Cytat(.rh- @ 2006-04-10 14:05:53)
Cytat
1. Po co pisać coś, co już zostało napisane?

Szanuje ludzi ktorzy tak mysla ale ja definitywnie niezgadzam sie z takim podejsciem. A co jesli ktos chce praktykowac swoje umiejetnosci?. Hmm, najlepiej to wogole zrobic skrypt(program) ktory jest zlepkiem innych skryptow(programow).

BDW: W takim razie po co pisac skrypty, przeciez wszystko juz jest napisane..smile.gif? Tylko brac i uzywac(kopjowac) tongue.gif

tak właśnie jest w Javie, tylko odpowiedni import i po sprawie...
em1X
W php jest to samo, tylko, ze wszystko jest juz zaimportowane.
Cala sprawa składa się do nieznajomości bibliotek smile.gif ergo uczmy sie i uczmy, bo wiedza to potęga..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.