Seite 1 von 1

HTML Files Vergleichen

Verfasst: 15.01.2020 13:44
von Pelagio
Hallo,

ich habe leider nicht viel am Hut mit HTML und deswegen tue ich mich schwer mit diesbezüglichen Dateien zu arbeiten.
Jetzt ist es aber so, dass ich zwei HTML Dateien miteinander vergleichen möchte und auch anzeigen.
Ich habe mir gedacht das es gut wäre die Daten, die Tabellen mäßig aufgebaut sind, in eine Struktur-Liste zu lesen
und in einem ListIconGadget darzustellen. Ich komme aber auf keinen grünen Zweig um die Daten, einfachst, in die Liste zu lesen.
Alle Ideen die ich habe, sind mir einfach zu umständlich :iamwithstupid: .

Code: Alles auswählen

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Test">
<style>
br {mso-data-placement:same-cell;}
</style>
<TITLE>Parameterliste s8.zp2</TITLE>
</HEAD><BODY>
<H1>Parameterliste s8.zp2</H1>
<H2>Zeitpunkt des Exports: 15.01.2020 08:08:11</H2>
<H3>Probenzugehörigkeit: Nächste Probe (Probe 1)</H3>
<H3>Bei aktivierbaren Parametern wird im Status angegeben, ob der Parameter aktiviert oder nicht aktiviert ist.</H3>
<TABLE BORDER="1">
<TR VALIGN=top><TH ALIGN=left>Dialog</TH><TH ALIGN=left>Parameter</TH><TH ALIGN=left>ID</TH><TH ALIGN=left>Typ</TH><TH ALIGN=left>Wert</TH><TH ALIGN=left>Zuordnung</TH><TH ALIGN=left>Status</TH><TH ALIGN=left>Sichtbarkeit</TH></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Eingaben nach Prüfung</TD><TD ALIGN=left>1733</TD><TD ALIGN=left>Auswahl</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Startposition nach Prüfung einstellen</TD><TD ALIGN=left>1050</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Nein</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Probe entlasten</TD><TD ALIGN=left>1049</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Nein</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Max. zulässige Kraft am Prüfungsende</TD><TD ALIGN=left>1051</TD><TD ALIGN=left>numerischer Wert</TD><TD ALIGN=left>Standardkraft: 500 N</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Geschwindigkeit Entlastung</TD><TD ALIGN=left>1052</TD><TD ALIGN=left>numerischer Wert</TD><TD ALIGN=left>lagegeregelt: 10 mm/min</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>
<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Nach Entlastung der Probe die Startposition erst nach Bestätigung einstellen</TD><TD ALIGN=left>1630</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Ja</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>
</TABLE>
</BODY>
</HTML>
Eventuell kann mir jemand von Euch einen Anstoß geben.

Re: HTML Files Vergleichen

Verfasst: 15.01.2020 14:33
von Kiffi
Eine Möglichkeit:

Code: Alles auswählen

EnableExplicit

Define XML.s

XML = "<TABLE BORDER='1'>" + #CRLF$ +
      "<TR VALIGN=top><TH ALIGN=left>Dialog</TH><TH ALIGN=left>Parameter</TH><TH ALIGN=left>ID</TH><TH ALIGN=left>Typ</TH><TH ALIGN=left>Wert</TH><TH ALIGN=left>Zuordnung</TH><TH ALIGN=left>Status</TH><TH ALIGN=left>Sichtbarkeit</TH></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Eingaben nach Prüfung</TD><TD ALIGN=left>1733</TD><TD ALIGN=left>Auswahl</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Startposition nach Prüfung einstellen</TD><TD ALIGN=left>1050</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Nein</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Probe entlasten</TD><TD ALIGN=left>1049</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Nein</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>&nbsp;</TD></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Max. zulässige Kraft am Prüfungsende</TD><TD ALIGN=left>1051</TD><TD ALIGN=left>numerischer Wert</TD><TD ALIGN=left>Standardkraft: 500 N</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Geschwindigkeit Entlastung</TD><TD ALIGN=left>1052</TD><TD ALIGN=left>numerischer Wert</TD><TD ALIGN=left>lagegeregelt: 10 mm/min</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>" + #CRLF$ +
      "<TR VALIGN=top><TD ALIGN=left>Aktionen nach Prüfung</TD><TD ALIGN=left>Nach Entlastung der Probe die Startposition erst nach Bestätigung einstellen</TD><TD ALIGN=left>1630</TD><TD ALIGN=left>Ja/Nein</TD><TD ALIGN=left>Ja</TD><TD ALIGN=left>Serienebene</TD><TD ALIGN=left>&nbsp;</TD><TD ALIGN=left>Nicht sichtbar</TD></TR>" + #CRLF$ +
      "</TABLE>"

; Krempel entfernen:
XML = RemoveString(XML, " BORDER='1'")
XML = RemoveString(XML, " VALIGN=top")
XML = RemoveString(XML, " ALIGN=left")
XML = RemoveString(XML, "&nbsp;")

Define TR, TD

If ParseXML(0, XML) And XMLStatus(0) = #PB_XML_Success
  TR = XMLNodeFromPath(MainXMLNode(0), "TR") ; TableRow
  While TR
    TD = XMLNodeFromPath(TR, "TD") ; TableData
    While TD
      Debug GetXMLNodeText(TD) ; TD-Text ausgeben lassen
      TD = NextXMLNode(TD)
    Wend
    TR = NextXMLNode(TR)
  Wend  
  FreeXML(0)
Else
  Debug XMLError(0)
EndIf
Grüße ... Peter

Re: HTML Files Vergleichen

Verfasst: 17.01.2020 14:50
von Pelagio
Danke Kiffi :praise:

es hat zwar etwas gedauert bis ich den Sinn hinter deinem Beispiel gefunden hatte,
aber zu guter Letzt hat es mir geholfen und ich konnte das Programm erstellen. :bounce: