LabVIEWForum.de - HTML als 2D Array

LabVIEWForum.de

Normale Version: HTML als 2D Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich würde gerne eine HTML Datei in ein 2 dimensionales Array formatieren, um danach aus dem Array bestimmte Elemente rauszulesen. Ich habe die Datei in Excel geöffnet und es dann als csv Datei abgespeichert und dann im 2DStringdurchsuchen.vi die Elemente rausgefiltert. Aber da ich eine Unmenge an Dateien habe wäre es unpraktisch, jede Datei in Excel zu öffnen und dann nochmal abzuspeichern und brauche deshalb eine neue Herangehensweise (Excel Makro soll ich nicht verwenden). Ich weiß, ich könnte das alles auch mit der MatchRegEx Funktion lösen, aber ich hatte da noch ein paar Schwierigkeiten.

https://lavag.org/topic/6483-parsing-htm...2d-string/
Auf der Seite habe ich ein Beispiel gefunden, ich habe es auch angehängt, aber es funktioniert nicht so wie es soll. Ich vermute ich habe die Cases falsch befüllt, weil man auf dem Screenshot ja nicht beide Fälle sieht.

Ich bin für jeden Tipp dankbar!
Ares
Hallo ares,

Zitat:ich würde gerne eine HTML Datei in ein 2 dimensionales Array formatieren, um danach aus dem Array bestimmte Elemente rauszulesen.
Welche Elemente möchtest du denn genau auslesen?

Willst du die Tabellen im HTML auswerten?
Ich würde so vorgehen:
1. Tabelle suchen: die beginnt mit "<table" und endet mit "</table>"…
2. Die Tabelle in Zeilen zerlegen: <tr> und </tr>
3. Jede Zeile in Elemente zerlegen: <td> und </td>

Was daran ist schwierig?
Zitat:ich würde gerne eine HTML Datei in ein 2 dimensionales Array formatieren, um danach aus dem Array bestimmte Elemente rauszulesen.
Welche Elemente möchtest du denn genau auslesen?

Willst du die Tabellen im HTML auswerten?
Ich würde so vorgehen:
1. Tabelle suchen: die beginnt mit "<table" und endet mit "</table>"…
2. Die Tabelle in Zeilen zerlegen: <tr> und </tr>
3. Jede Zeile in Elemente zerlegen: <td> und </td>

Was daran ist schwierig?
[/quote]

Hallo Gerd, ich möchte die gesamte Zeile auslesen da ich jeden Wert der Zeile brauche. Die beinhalten Strings und Zahlen.
Das mit der Tabelle habe ich so nicht hinbekommen da ich ja mehrere Tabellen in einer file habe.
Hallo ares,

Zitat:ich möchte die gesamte Zeile auslesen da ich jeden Wert der Zeile brauche. Die beinhalten Strings und Zahlen.
Was hast du versucht und woran bist du gescheitert?

Zitat:Das mit der Tabelle habe ich so nicht hinbekommen da ich ja mehrere Tabellen in einer file habe.
Wo ist das Problem?
Wenn man eine Schleife verwendet, kann man sehr einfach Code wiederholt ausführen. Hier z.B. mehrere Tabellen nacheinander auswerten…
(17.11.2021 12:57 )GerdW schrieb: [ -> ]Hallo ares,

Zitat:ich möchte die gesamte Zeile auslesen da ich jeden Wert der Zeile brauche. Die beinhalten Strings und Zahlen.
Was hast du versucht und woran bist du gescheitert?

Zitat:Das mit der Tabelle habe ich so nicht hinbekommen da ich ja mehrere Tabellen in einer file habe.
Wo ist das Problem?
Wenn man eine Schleife verwendet, kann man sehr einfach Code wiederholt ausführen. Hier z.B. mehrere Tabellen nacheinander auswerten…

hallo Gerd,

ich habe ja oben ein VI (htmlin2darray) angehängt, aber es funktioniert eben nicht. In der Beschreibung habe ich ja schon erklärt was ich probiert habe und woran ich gescheitert bin. Wenn ich da die Arrays bekommen würde, wäre mein Problem gelöst.
Hallo ares,

Zitat:ich habe ja oben ein VI (htmlin2darray) angehängt, aber es funktioniert eben nicht. In der Beschreibung habe ich ja schon erklärt was ich probiert habe und woran ich gescheitert bin. Wenn ich da die Arrays bekommen würde, wäre mein Problem gelöst.
Das ist aber schon 2 Wochen her.
Was hast du in der Zwischenzeit (nach meinen Ratschlägen) versucht?

Ich wiederhole:
Zitat:Ich würde so vorgehen:
1. Tabelle suchen: die beginnt mit "<table" und endet mit "</table>"…
2. Die Tabelle in Zeilen zerlegen: <tr> und </tr>
3. Jede Zeile in Elemente zerlegen: <td> und </td>
Noch etwas Erläuterung:
- HTML ist reiner Text und kann "quasi von Hand" mit den String-Funktionen bearbeitet/durchsucht werden.
- Es gibt eine Stringfunktion zum Suchen eines Teilstrings: einfach nach "<table>" und dem darauf folgenden "</table>" suchen! Alles dazwischen ist der Inhalt der jeweiligen Tabelle!
- Mit der gleichen Stringfunktion kann man nach "<tr>" und folgendem "</tr>" suchen, um die Daten der einzelnen Zeilen zu erhalten.
- Und wenn einen dann noch die ganzen "<td>" dazwischen stören, könnte man diese mit einer weiteren Stringfunktion einfach durch leere Strings ersetzen…

Deshalb nochmal meine Frage: was hast du (mittlerweile) probiert und woran scheiterst du!?
Referenz-URLs