eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: xml_parse_into_struct()
Socres
ich versuche mittels oben genannter methode den html-output den mir ein programm liefert in ein array zu bügeln...

das klappt leider nur sporadisch. bei manchen "seiten" hört er nach der HEAD sektion auf und bei manchen funktionierts...

irgendwer sowas schonmal probiert oder weiß wo ich gucken soll?

und nein ich will nix fertiges verwenden...
mmarx
Das ist ungefaehr so sinnvoll, wie mit einer Heckenschere Haare zu schneiden, HTML ist nun einmal kein XML.
Polygon
genauer gesagt wird das nur funktionieren, wenn die Seite in XHTML geschrieben ist, nur dann handelt es sich um "echtes" XML.
Socres
das ist ja auch alles komplett klar, nur wär das eine solch schöne lösung.

btw sind die seiten an denen der parser scheitert so simpel, ich kann da keine xml-unkonformitäten erkennen
Polygon
Zitat(Socres @ 26 Jan 2010, 21:28)
das ist ja auch alles komplett klar, nur wär das eine solch schöne lösung.

btw sind die seiten an denen der parser scheitert so simpel, ich kann da keine xml-unkonformitäten erkennen
*

Ohne ein Beispiel ist das eher schwer zu verifizieren. Falsches XML bekommt man auch als Einzeiler hin. Wie "tolerant" der Parser dann bei sowas ist, ist wieder eine andere Frage. Aber schon

<meta http-equiv="MSThemeCompatible" content="yes" >

anstelle von

<meta http-equiv="MSThemeCompatible" content="yes" />

wäre falsches XML und der Parser würde sich nach dem </meta> vermutlich kaputt suchen.
Socres
der parser ist sehr tollerant, das hab ich schon probiert (beispiele "kann" ich leider nicht liefern)

hab das problem aber grad gefunden...

der output wird manchmal aus verschiedenen .phtml dateien zusammengesetzt und manchmall halt komplett von einem script gebaut...

wenns aus einem script kommt gehts.

ich such weiter

edit: wenn man dem parser nur ein öffnendes tag gibt und kein schließendes, dann lässt der das einfach weg.

aber die tags sind auch alle zu
firerun
Zitat(Socres @ 26 Jan 2010, 21:37)
aber die tags sind auch alle zu
*

Beliebt sind auch &-Zeichen, die nicht als &amp; maskiert wurden... (auch in URLs!)
Aber wenn du meinst, dass der Parser viel toleriert, kann's das eigentlich auch fast ni sein.
I.I
Wohlgeformt machen:

http://www.php.net/manual/de/intro.tidy.php


Zum Parsen:

Ich benutze für soetwas immer die beiden sachen ...

http://www.php.net/manual/de/function.xml-parse.php
http://www.php.net/manual/de/function.xml-...ent-handler.php

sind sehr schnell ... und du kannst dir selbst definieren was passieren sollen wenn ein Anfangs bzw. Endtag auftritt ...

(aber das mit strcut ist ja auch schon eine sehr elegante vorgefertigte Lösung)


Objektorientiert kannst DomDocument nehmen. Ist deutlich langsamer dafür kannst du beim einlesen auf Validität bzw. das eingehende Document gegen ein Schema oder eine DTD prüfen lassen.
Socres
wohlgeformt isses

xml-parse ist letztlich nix anderes als xml_parse_into_struct

DOMDocumentL lässt die Applikationsstruktur nicht zu

warscheinlich geht das was ich machen will in meinem kontext nicht. zumindest nicht ohne die Struktur zu verändern.

also: thread kann als schließbar betrachtet werden

I.I
Wenn es wohlgeformt ist lässt es sich auch mit einem xml Parser einlesen. Wie sieht denn das Dokument aus was du parsen willst. Schreibs mal hier rein damit wir der Sache auf den Grund gehen können.