Illustration einer tropischen Insel mit Palmen und einem hohen Berg

Java Blog für Programmierer

Vergleich von HTML-Dateien mit Daisy Diff

· Christian Ullenboom

In meiner Seminarverwaltungssoftware können Trainer die Seminarbeschreibungen ändern. Natürlich möchte ich mitbekommen, welche Stellen geändert wurden und das am Liebsten hübsches aufbereitet. Da bin ich auf http://code.google.com/p/daisydiff/ gestoßen. Man kann entweder über die Kommandozeile arbeiten oder mit einer Hilfsklasse, wobei zwei Klassen einen ersten Anhaltspunkt für die API geben:

Ein kleines Beispiel soll das Diff in HTML-Form in den Temp-Ordner C:\Users\CHRIST~1\AppData\Local\Temp\ schreiben:

package com.tutego.traida;

import java.awt.Desktop;
import java.io.File;
import java.io.FileWriter;

import org.outerj.daisy.diff.Main;

public class DaisyDiffDemo
{

public static void main( String[] args ) throws Exception

 {
 String html1 = "Eine zwei Polizei";
 String html2 = "Eins zwei drei Polizei";

 File fileIn = File.createTempFile( "daisyin", ".html" );
 File fileOut = File.createTempFile( "daisyout", ".html" );
 File fileDiff = File.createTempFile( "daisydiff", ".html" );
 new FileWriter( fileIn ).append( html1 ).close();
 new FileWriter( fileOut ).append( html2 ).close();

 String[] daisyDiffArgs = {

fileIn.getAbsolutePath(), fileOut.getAbsolutePath(), „–file=“+fileDiff.getAbsolutePath()

 };
 Main.main( daisyDiffArgs );

 fileIn.deleteOnExit();
 fileOut.deleteOnExit();
 Desktop.getDesktop().open( fileDiff );
 }
}

Das generierte HTML greift auf allerlei Zeugs zurück. Damit die HTML-Datei gut angezeigt wird, einfach aus dem Zip die Order css, images und js in das temp-Verzeichnis C:\Users\CHRIST~1\AppData\Local\Temp kopieren. Dann sieht das Ergebnis so aus:

sshot-1

Kategorien: Open Source

2 Kommentare

Tool to compare HTML files and produce report in HTML or XML format - Tutorial Guruji ·

\[…\] (see DaisyDiff examples) or java api. See Main Class and DaisyDiff Class to get you going. Here is a blogpost (in german) with some snippet generating a html \[…\]

Vaibhav ·

Hello. This looks good but when I tried the code, I am continuously getting the following error and unable to understand why? Please help: ``` java.lang.NullPointerException at org.apache.xalan.processor.TransformerFactoryImpl.newTransformerHandler(TransformerFactoryImpl.java:701) at org.outerj.daisy.diff.XslFilter.xsl(Unknown Source) at com.PB.automation.Main.main(Main.java:124) ``` This line gives the error: ```java ContentHandler postProcess = htmlOut ? filter.xsl( result, "xslfilter/htmlheader.xsl" ) : result; ``` Please help out.

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

← Alle Beiträge