[php] xml parsen.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben op dit moment bezig met XML is allemaal heel erg leuk :)

nou ben ik dus met het standaard stuk code een HTML document aan het parsen dat eigenlijk altijd goed gaat behalve als er een [img]""[/img] instaat. ik neem aan dat dat komt omdat de betreffende END tag niet gevonden kan worden.

Hoe kan ik zorgen dat deze tag wordt overgeslagen? ( moet ik dan soms een Doctype definitie maken? zoja... hoe kan ik dat dan doen. ik kan dit niet in de html zetten.

Ik heb hier enkele boeken over PHP liggen en de manual doorgenomen maar ik kan niets vinden.

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

Je moet zorgen dat de syntax gaat klopt!
maak er [img]""[/img] van

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
oke daar kan ik me iets bij voorstellen maar als ik gewone standaard HTML documenten ga parsen dan dit die / in [img]""[/img] tag er niet in.

Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Nee, maar dat hoort dus wel.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke maar is er geen manier om op te geven dat de parser de IMG tag niet moet lezen.... of nog beter....

pas gaat lezen vanaf een bepaalde tag.

Ik zal mijn probleem iets verduidelijken. Ik heb een HTML pagina en in die html pagina staat een stuk XML :

<?xml version="1.0"?>
<menubar>
<html></html>
<marker></marker>
<max_length></max_length>
</menubar>

dit staat dus ergens tussen de HTML in en de gegevens uit deze data moet ik hebben. kan ik een begin en een end tag opgeven waartussen de parser moet werken? ( in dit geval <menubar> en </menubar> )

Of is het beter om deze data eerst uit de HTML te knippen en dan pas door de XML parser te duwen?

Acties:
  • 0 Henk 'm!

  • drZymo
  • Registratie: Augustus 2000
  • Laatst online: 15-09 08:44
Zover ik begrijp probeer jij een HTML document te parsen als een XML document. Dit houdt in dat het HTML document volgens de HTML 4.01 specificaties moet gelden (of xhtml dat weet ik niet precies nu). Een xml parser zal dus een simpele html file niet snappen, wat je kan doen is zelf dat stukje xml zoeken en kopieren in een tijdelijk buffer, en deze laten parsen door je xml parser.

"There are three stages in scientific discovery: first, people deny that it is true; then they deny that it is important; finally they credit the wrong person."


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
oke dan denk ik dat dit de oplossing gaat worden tenzij iemand een andere "betere" oplossing heeft

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Nope.. als je HTML als XML wilt parsen zal je HTML exact XML-compliant moeten zijn.. oftewel XHTML :)

Ik heb hier trouwens tijdje terug een geweldig boek over gekocht:

XML and PHP
Vikram Vaswani
ISBN: 0-73571-227-1

Gaat over PHP 4.1+ en XML parsing via SAX en DOM.. en legt ook een hoop uit over dingen als XSLT enzo. Leuke hebbert.

Acties:
  • 0 Henk 'm!

Verwijderd

Bosmonster, staan in dat boek ook tips voor XML-parsers (bij voorkeur DOM, maar SAX mag ook) wanneer je PHP niet met expat-ondersteuning kunt/wilt hercompileren?

Ik ben nu aan het stoeien met <phpXML/>, en die lijkt alles te kunnen wat ik zoek, maar met een php-file van 120Kb is 'ie een tikje aan de lompe kant. Zeker wanneer je alleen maar 't DOM-gedeelte gebruikt, en niet de SAX-events.
En de site www.phpxml.org blijkt te verwijzen naar scriptindex.de, en zoeken naar "phpxml" in hun zoekmachien levert 0 hits op...
Pagina: 1