konto usunięte

Temat: XML w PHP4

Poszukuje dobrej klasy do obsługi XMLa w PHP4...
Znacie jakieś ciekawe rozwiązania?
Rafał Kwaśniak

Rafał Kwaśniak Programista
aplikacji
internetowych

Temat: XML w PHP4

Witam

Przyłączam się do tego pytania - niebawem będe musiał obsłużyć XML w PHP4, więc przyda mi się troche porad :) W PHP są wbudowane funkcje XML (np. xml_parse), ale jeszcze z nich nie korzystałem.

konto usunięte

Temat: XML w PHP4

http://pl.php.net/simplexml

podstawowa zasada: rob wszystko tak prosto jak sie da, ale nie prosciej.

to macie najlepsze rozwiazanie z mozliwych ;-).
Michał P.

Michał P. Software Development
Team Leader

Temat: XML w PHP4

Jakub Świegot:
http://pl.php.net/simplexml

podstawowa zasada: rob wszystko tak prosto jak sie da, ale nie prosciej.

to macie najlepsze rozwiazanie z mozliwych ;-).

jest jedno ale:
"The SimpleXML extension requires PHP 5"
Michał P.

Michał P. Software Development
Team Leader

Temat: XML w PHP4

Piotr Lewandowski:
Poszukuje dobrej klasy do obsługi XMLa w PHP4...
Znacie jakieś ciekawe rozwiązania?

Czy DOM XML się nie nada? Jest to trochę toporne, ale chyba wkompilowane w PHP4 by default. Jest jeszcze problem, bo w PHP5 DOM XML został zastąpiony przez DOM, który nie jest kompatybilny z poprzednikiem, więc przy ew. przesiadce na PHP5 jest zonk.

http://pl.php.net/manual/en/ref.domxml.php

konto usunięte

Temat: XML w PHP4

Michał P.:
Piotr Lewandowski:
Poszukuje dobrej klasy do obsługi XMLa w PHP4...
Znacie jakieś ciekawe rozwiązania?

Czy DOM XML się nie nada? Jest to trochę toporne, ale chyba wkompilowane w PHP4 by default. Jest jeszcze problem, bo w PHP5 DOM XML został zastąpiony przez DOM, który nie jest kompatybilny z poprzednikiem, więc przy ew. przesiadce na PHP5 jest zonk.

http://pl.php.net/manual/en/ref.domxml.php

Z XML w PHP 5 radzę sobie dobrze - gorzej w PHP 4 - na serwerze na którym muszę parsować XMLa nie ma w PHP wsparcia dla XMLa...
A tak przy okazji: czy jeżeli w XMLu umieszczę tekst ze znacznikami HTML, to da się go jakoś wyświetlić (w sensie że <strong> pokaże jako pogrubiony tekst), bo póki co parser zatrzymuje się na pierwszym znaczniku HTML...

konto usunięte

Temat: XML w PHP4

Jest tyle klas obsługujących ruch PHP->XML i w drugą stronę - trochę wysiłku, http://phpclasses.org i do dzieła....

konto usunięte

Temat: XML w PHP4

A tak przy okazji: czy jeżeli w XMLu umieszczę tekst ze znacznikami HTML, to da się go jakoś wyświetlić (w sensie że <strong> pokaże jako pogrubiony tekst), bo póki co parser zatrzymuje się na pierwszym znaczniku HTML...

Da się go wyświetlić. Do tego służy CDATA:

<node>
<![CDATA[<strong>jestem wyboldowany ;)</strong>]]>
</node>

A co do parsowania plików XML w PHP 4. Kiedyś miałem "przyjemność" parsować pliki XML. Napisałem własną klasę, która o dziwo dobrze działała, jednak w przypadku dużych plików się wykładała.
Jedyne co mi przychodzi do głowy, to przeszukanie phpclasses.org, co w poprzednim poście zasugerował Michał Ćwikliński.

konto usunięte

Temat: XML w PHP4

Maciej Wilgucki:
A tak przy okazji: czy jeżeli w XMLu umieszczę tekst ze znacznikami HTML, to da się go jakoś wyświetlić (w sensie że <strong> pokaże jako pogrubiony tekst), bo póki co parser zatrzymuje się na pierwszym znaczniku HTML...

Da się go wyświetlić. Do tego służy CDATA:

<node>
<![CDATA[<strong>jestem wyboldowany ;)</strong>]]>
</node>

A co do parsowania plików XML w PHP 4. Kiedyś miałem "przyjemność" parsować pliki XML. Napisałem własną klasę, która o dziwo dobrze działała, jednak w przypadku dużych plików się wykładała.
Jedyne co mi przychodzi do głowy, to przeszukanie phpclasses.org, co w poprzednim poście zasugerował Michał Ćwikliński.

Strona korzysta aktualnie z klasy SimpleXML (autorstwa Olivera Strecke, url: http://www.phpclasses.org/browse/package/3526.html )
jednak też wykłada się z nieznanych mi przyczyn... Stąd moje pytanie o inne rozwiązania...

konto usunięte

Temat: XML w PHP4

Może w repozytorium PEAR coś znajdziesz?

konto usunięte

Temat: XML w PHP4

napisz sobie swoj parser. co za problem.

konto usunięte

Temat: XML w PHP4

Jakub Świegot:
napisz sobie swoj parser. co za problem.
Duży problem. Sam taki pisałem i minęło wiele tygodni, nim zawarłem w nim wszystkie najpopularniejsze rozwiązania zastosowane w plikach XML.

Najlepszym rozwiązaniem jest przeszukanie zasobów sieci.

konto usunięte

Temat: XML w PHP4

no ale szukacie i szukacie i nic nie mozecie znalezc z tego co widze ;).

konto usunięte

Temat: XML w PHP4

Tomasz Kupczyk:
Może w repozytorium PEAR coś znajdziesz?

Racja, zapomniałem o gruszce :D

konto usunięte

Temat: XML w PHP4

Jakub Świegot:
no ale szukacie i szukacie i nic nie mozecie znalezc z tego co widze ;).

Przecież podpowiedzieli mi kilka rozwiązań :D Jak znajdę czas to usiądę nad tym i poczytam :D

konto usunięte

Temat: XML w PHP4

Zapewne najlepszym rozwiązaniem będzie napisanie własnej klasy w oparciu o SAX (czyli xml_parser w PHP). Niestety w wersji 4 PHP miało specyficzne wsparcie, które nie było zgodne ze standardami W3C.

Dopiero w wersji 5 takie parsery jak DOM czy XSTL zostały napisane od nowa zgodnie ze standardami.

konto usunięte

Temat: XML w PHP4

Maciej Wilgucki:
A tak przy okazji: czy jeżeli w XMLu umieszczę tekst ze znacznikami HTML, to da się go jakoś wyświetlić (w sensie że <strong> pokaże jako pogrubiony tekst), bo póki co parser zatrzymuje się na pierwszym znaczniku HTML...

Da się go wyświetlić. Do tego służy CDATA:

<node>
<![CDATA[<strong>jestem wyboldowany ;)</strong>]]>
</node>

A co do parsowania plików XML w PHP 4. Kiedyś miałem "przyjemność" parsować pliki XML. Napisałem własną klasę, która o dziwo dobrze działała, jednak w przypadku dużych plików się wykładała.
Jedyne co mi przychodzi do głowy, to przeszukanie phpclasses.org, co w poprzednim poście zasugerował Michał Ćwikliński.

sprawa się komplikuje o tyle, że ten sam plik XML odczytywany jest przez flasha i PHP - o ile <![CDATA[ działa w PHP o tyle we flashu z pogrubienia robi się <![CDATA[<strong> ...
no ale trudno - jak się nie da to się nie da :D

edit: jednak w PHP CDATA nie działa - tekst "owinięty" w ten sposób po prostu się nie wyświetla...Piotr Lewandowski edytował(a) ten post dnia 14.02.08 o godzinie 15:14

konto usunięte

Temat: XML w PHP4

CDATA musi działać. To nie jest jakiś wymysł programistów IE ;) tylko standard. Możliwe, że źle jest ustawione parsowanie pliku XML. CDATA różni się od zwykłego węzła tekstowego, więc stąd pewnie problemy z wyświetlaniem.
Jakub L.

Jakub L. Programista

Temat: XML w PHP4

Zależy co się z CDATA robi - z założenia zawartość CDATA nie jest interpretowana, ale jak ją wydłubiesz i prześlesz na poziomie zwykłych znaczników do przeglądarki, to zawartość zostanie zinterpretowana.
A jak puścisz XMLa do flasha, to zgodnie z założeniem - nie.

Ciekawe czy zrobienie <strong><![CDATA[jestem wyboldowany ;)]]></strong> nie zadziała (może być jeszcze konieczne zmodyfikowanie schemy albo dtd).

konto usunięte

Temat: XML w PHP4

Piotr Lewandowski:
Poszukuje dobrej klasy do obsługi XMLa w PHP4...
Znacie jakieś ciekawe rozwiązania?

OK, sadzac po jednym z przykladow chcesz konwertowac XML (lub jego czesc) na HTML. Mam racje?

Jesli tak, to moze lepiej skorzystac z XML+XSL(T) zamiast samemu bawic sie w parsowanie? Zaleta jest szybkosc przetwarzania.

Następna dyskusja:

Pomoc przy przeniesieniu po...




Wyślij zaproszenie do