Toon posts:

[PHP4] Gezocht: Goede XML parser...

Pagina: 1
Acties:

Verwijderd

Topicstarter
...die GEEN expat ondersteuning nodig heeft. Hercompileren van PHP is nl. geen optie.

Search gebruikt (resultaat: No topics were found containing your keywords. (no_topicmatch)), en diverse PHP XML dingetjes geprobeerd (ezxml, ActiveLink XML Package, en nog een paar die al heel snel afvielen), maar niets gevonden dat ook maar een beetje in de buurt komt van bv. MSXML of de org.xml.sax of org.w3c.dom Java classes.

Het hoeft niet eens zo'n uitgebreide parser te zijn, maar hij moet overweg kunnen met nodes, een lijst (of array) van nodes, attributes binnen een node, en liefst ook met CDATA. En DTD-support zou mooi zijn, maar is niet echt noodzakelijk.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Er zijn er twee voor php beschikbaar, te weten expat en dom. Voor beide is niet perse een php-recompile nodig, maar het is wel min of meer noodzakelijk dat je isp meewerkt.

Wat is trouwens het probleem met recompilen van php, als je zo hard een xml-parser nodig hebt die standaard erbij geleverd wordt? (ok, je moet lib-xml/lib-xml2 of expat nog wel los compileren)

edit:
Btw, dat de react search niks oplevert is geen argument voor goed zoeken ;)

[ Voor 12% gewijzigd door ACM op 12-12-2002 22:01 ]


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:07
DOM is (in de context van XML) uitsluitend een API, en geen afzonderlijke implementatie. Voor zover ik weet bestaat alleen Expat als PHP module.

Om die module te gebruiken hoef je PHP trouwens niet te hercompileren; je kunt gewoon de module zelf maken en die vervolgens met dlopen inladen (mits dit is toegestaan).

Heel misschien bestaat er PHP code voor XML ondersteuning, maar die kans is gering doordat PHP uit zichzelf al prima XML ondersteuning biedt (met expat, dus), en een oplossing geschreven in PHP zelf eigenlijk alleen maar minder efficient kan zijn.

Verwijderd

Topicstarter
ACM schreef op 12 december 2002 @ 22:01:
Er zijn er twee voor php beschikbaar, te weten expat en dom. Voor beide is niet perse een php-recompile nodig
De DOM-versie heb ik blijkbaar gemist, want dat zou nu mijn voorkeur hebben.
Heb je een link?
Wat is trouwens het probleem met recompilen van php
Geen, wanneer 't alleen voor mezelf was. Maar ik ben bezig met een module die iedereen met een redelijk recente Linux setup moet kunnen gebruiken. En dan kun je niet verwachten dat iedereen PHP met expat-support heeft (Mandrake 9 heeft dat bijvoorbeeld niet).
edit:
Btw, dat de react search niks oplevert is geen argument voor goed zoeken ;)
Zoekargumenten: PHP XML parser. Lijkt me vrij to the point...

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
http://sourceforge.net/projects/phpxpath/

Heb deze vroeger wel es gebruikt. Is niet erg snel, zeker niet qua xpath...maar het doet wat het moet doen. Werkt het best met kleine files.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 12 december 2002 @ 22:58:
Zoekargumenten: PHP XML parser. Lijkt me vrij to the point...

Het zoeken met de react search is geen argument ;)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-08 22:14

Bosmonster

*zucht*

Verwijderd schreef op 12 December 2002 @ 22:58:
[...]

De DOM-versie heb ik blijkbaar gemist, want dat zou nu mijn voorkeur hebben.
Heb je een link?


Woei!

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

Gewoon PHP.NET hoor :?

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Ik heb ook wel eens een simpele parser geschreven op basis van regexen, die was niet zo snel, maar het werkte wel goed. Ik heb zelfs verschillende versies gemaakt met precies dezelfde resultaten die werken met expat of regexen of een char-voor-char parser (extreem sloom). Heb ze alleen niet bij de hand. Als je geinteresseerd bent moet je ff mailen.

Rustacean


  • WAcKiN
  • Registratie: November 1999
  • Laatst online: 28-08-2023
PHP heeft al lange tijd een gebundelde expat library (net zoals ze een branch van GD gaan bundelen; per 4.3 geloof ik). Deze is default enabked en moet je als je PHP compiled expliciet disablen; iemand heeft dat dus in Mandrake opzettelijk gedaan/gesaboteerd :] !

Uit de PHP manual:
Installation

These functions are enabled by default, using the bundled expat library. You can disable XML support with --disable-xml. If you compile PHP as a module for Apache 1.3.9 or later, PHP will automatically use the bundled expat library from Apache. In order you dont't want to use the bundled expat library configure PHP --with-expat-dir=DIR, where DIR should point to the base installation directory of expat.

The windows version of PHP has built in support for this extension. You do not need to load any additional extension in order to use these functions.
Ik ben zelf nog nergens een recente PHP installatie tegengekomen zonder werkende expat xml parser. Ik heb geloof ik ook ooit eens ergens op een maillinglist gelezen dat ze zelfs overwogen om het disablen van expat onmogelijk te maken; veel optionele php modules die in de standaard PHP distributie zitten zijn namelijk afhankelijk van een xml parser.

Hoe dan ook, je kan er gerust van uit gaan dat expat erin zit, zo niet zijn er wel wat in PHP geschreven XML parsers. Dit kan je eventueel als fall-back gebruiken (wat meestal geen probleem is met een beetje goed ontwerp toch? ;] )...
Pagina: 1