| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Nov 2003
Beiträge: 14
| Such-Algorithmus für mehrere XML-Dateien
Hi, das Szenario ist folgendes: Ich möchte eine Suchabfrage auf bestimmte Strings in XML-Dokumenten starten. Der Algorithmus für ein XML-Dokument funktioniert und liefert gute Ergebnisse. Jetzt möchte ich zusätzlich, dass in dem Falle, dass die Suche in einer XML Datei nicht erfolgreich war, in die nächste XML Datei in dem gleichen Ordner gesucht werden soll. Mich interessiert nur, wie ich Flash klar mache, dass er zu der nächsten Datei springen soll. Das Ziel ist zu sagen: Gehe in Unterordner1, checke xml dateien, parse die erste, suche, falls nicht erfolgreich gehe in die nächste file, parse etc. Ist so etwas generell möglich? Hat jemand Ideen? Danke. cemento |
| | |
| | #2 (permalink) |
| • Registriert seit: Dec 2003
Beiträge: 202
|
flash selber kann keine ordner nach inhalten abfragen. du müsstest ein php script am server haben, welches dir die filenamen, die in einem ordner sind, rückgibt. dann kannst du mit flash die einzelnen files reinsaugen und durchsuchen.
|
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Nov 2003
Beiträge: 14
|
Cooler Tip. Danke. Könnte dann wie folgt aussehen: <?php $path ="blablaba.....Pfad des einzulesenden Ordners"; $folder = dir($path); echo "Inhalt des Verzeichnisses ", $path, "<br>"; while($datei = $folder->read()) { echo"\n$datei<br>"; } $folder->close(); ? > Frage: Soll ich die Daten dann lieber in eine Textfile speichern, oder kommt Flash auch mit einer Übergabe von PHP klar? Wie könnte ich die denn mit AS abfangen? cemento |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
du kannst an flash einen per semikolon geteilten string per echo übergeben. rueckgabe=datei1;datei2 usw die variable splittest du per variable.split(";") und nun kannste mit dem array alle xml dateien im verzeichnis durchgehen. noch nen tipp der mir spontan dazu einfällt. ich weiß nicht was du suchen willst, aber falls möglich kannste doch die xml datei laden-noch nicht parsen sondern per indexOf im onData eventhandler schauen ob überhaupt etwas ähnliches in der xml vorhanden ist. wenn ja dann parste die xml datei und schaust nochmal genauer hin. (beim überschreiben des onData handlers ist das manuelle parsen pflicht, da der originale onData die daten automatisch parsen würde->nachdem du ihn überschreibst tut sich ohne dein zutun nichts) spart bei größeren xml dateien sicherlich rechenzeit. gruß deluxe |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Nov 2003
Beiträge: 14
|
Mit der Semikolon getrennten Übergabe erscheint mir logisch. Was meinst du mit der "indexOf" Geschichte genau? Suchen möchte ich nach bestimmten "nodeValues". Da muss ich doch erst einmal parsen, oder nicht? gruß cemento |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Jun 2001 Ort: Stuttgart
Beiträge: 6.415
|
Also angenommen deine XML Datei sieht so aus: "<?xml version='1.0' encoding="utf-8"?><element1>hallo</element1>" Lädst du diese über die Methode "xml.load()" in flash rein, kommt dort natürlich nichts fertiges an. Das Parsen fehlt noch. Dies übernimmt in Flash die standardmäßige implementierung von onData. sie parsed und ruft den onLoad event auf-ist alles richtig geladen wird ihr true übergeben bei fehlern ein false (kenntste sicher die abfrage(if(erstesArgumentVononLoad){alles ok}) Den onData event kann man allerdings überschreiben. So fängt man die Rohdaten(ungeparseder String) ab (String: "<?xml version='1.0' encoding="utf-8"?><element1>hallo</element1>") Strings kennen die methode string.indexOf(zeichenkette), die bei vorhanden sein der zeichekette die startposition zurückgibt oder bei nicht-vorhanden sein eine "-1" warum also nicht schon die Rohdaten testen ob das zu suchende Element vorhanden sein kann? PHP-Code: deluxe |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |