Vergleich-Xml-Daten

lara22

Mitglied
Hallo zusammen,

ich habe mal wieder ein Problem.


ich vergleiche zwei XML-Dokumente. Es kann vorkommen, dass ungleiche Anzahl an Blöcken in den
XML_ Dokumenten sind und dieser kann nicht mehr richtig verglichen werden. Habe eine Methode zu dem zusätzlichen Vergleich geschrieben, das prüft ob von dem einem Dokument die Blöcke im anderen Dokument zu finden sind.

Beispiel Xml-Dokument
siehe Anhang: xml-neu

Code:
private void extraVergleich(Node n1, Node n2) {

		StringBuffer Data = new StringBuffer();

		for (int i = 0; i < n1.getChildNodes().getLength(); i++) {

			String where = "\t(" + i + " : ";

			boolean test = true;

			int counter = 0;

			for (int j = 0; j < n2.getChildNodes().getLength(); j++) {

				if (n2.getChildNodes().item(j)
						.isEqualNode(n1.getChildNodes().item(i))) {

					if (counter > 0) {
						where += ", ";
					}

					where += j;

					test = false;

					counter++;

				}

			}

			if (test) {

				Data.append("\nBasis   " + "<"
						+ n1.getChildNodes().item(i).getNodeName() + "  "
						+ n1.getChildNodes().item(i).getAttributes() + ">"
						+ n1.getChildNodes().item(i).getTextContent() + "</"
						+ n1.getChildNodes().item(i).getNodeName() + ">"
						+ where + ")");
			}

		}

		for (int i = 0; i < n2.getChildNodes().getLength(); i++) {

			String where = "\t(" + i + " : ";

			boolean test = true;

			int counter = 0;

			for (int j = 0; j < n1.getChildNodes().getLength(); j++) {

				if (n1.getChildNodes().item(j)
						.isEqualNode(n2.getChildNodes().item(i))) {

					if (counter > 0) {
						where += ", ";
					}

					where += j;

					test = false;

					counter++;

				}

			}

			if (test) {
				Data.append("\nAktuell   " + "<"
						+ n2.getChildNodes().item(i).getNodeName() + "  "
						+ n2.getChildNodes().item(i).getAttributes() + ">"
						+ n2.getChildNodes().item(i).getTextContent() + "</"
						+ n2.getChildNodes().item(i).getNodeName() + ">"
						+ where + ")");

			}

		}

	}


Aber bei diesem Beispiel siehe Anhang xml_neu funktioniert es nicht. Es zeigt mir auch, die eigentlich nicht unterschiedlich sind, unterschiedlich sind, die Werte sind irgendwie vertauscht.

Hat jemand ne Idee?
Vielen Dank im Voraus

LG
 

Anhänge

  • xml_alt.jpg
    xml_alt.jpg
    10,4 KB · Aufrufe: 21
  • xml_neu.jpg
    xml_neu.jpg
    23,3 KB · Aufrufe: 31
Zuletzt bearbeitet:

Phash

Top Contributor
Eh... zwei xml Dateien sollen doch dann gleich sein, wenn die Inhalte der Tags gleich sind. Die Reihenfolge spielt keine Rolle l sonst braucht man ja kein xml.
 

lara22

Mitglied
Ja die Struktur ist ja gleich. Nur in den Tags kann es vorkommen, dass ein Element nicht vorhanden ist und bei dem anderen vorhanden ist. Java kann das nicht erkennen, er vergleich das nächste Element und das ganze verschiebt sich ja. Deshalb habe ich eine Methode geschrieben, dass den Block vergleicht. Nur hier werden Unterschiede angezeigt,obwohl die gleich sind. Kann es sein, das in einem Block auch mehrere Blöcke sind und nicht nur Elemente?
 

grindelaner

Bekanntes Mitglied
Ich weiß nicht genau was du vorhast, aber mir fallen zwei Ansätze ein wie du die beiden XML-Dateien miteinander vergleichen könntest.

1. Direkt die Dateien verleichen
z.B. mit CRC oder MD5

2. Dateien mit JAXB und unmarshal einlesen
und die Fachobjekte mit equals oder ähnlichen verleichen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Neumi5694 double Vergleich Allgemeine Java-Themen 19
M Vergleich C# und Java Allgemeine Java-Themen 24
D Vergleich OracleJDK/OpenJDK Allgemeine Java-Themen 7
T Komplexitätsoptimierung String vergleich Allgemeine Java-Themen 4
T If Vergleich ergibt nicht das richtige Ergebnis Allgemeine Java-Themen 2
K Vergleich von Strings von Objekten Allgemeine Java-Themen 4
E Problem mit Array vergleich Allgemeine Java-Themen 4
M Vergleich (unscharf) von Screenshots Allgemeine Java-Themen 0
S BufferedImage vergleich mit Subimage Allgemeine Java-Themen 1
Z Vergleich zwischen int und Object Allgemeine Java-Themen 1
M Datums vergleich klappt überhaupt nicht.. Allgemeine Java-Themen 4
S Calendar vergleich Allgemeine Java-Themen 2
G Zeilenweiser Vergleich Allgemeine Java-Themen 10
E Vorschläge, effizientes Hashing von Dateien für vergleich Allgemeine Java-Themen 7
W Vergleich eines Datenträgers auf neue Dateien Allgemeine Java-Themen 14
C Vergleich von Enums gibt inkorrekte Werte Allgemeine Java-Themen 6
N Input/Output Vergleich von identischen Strings schlägt fehl Allgemeine Java-Themen 5
N Vergleich eigener Klassen Allgemeine Java-Themen 5
P J-Unit vergleich von 2 Objekten merkwürdig Allgemeine Java-Themen 7
K GUI-Button Inhalte vergleich - TicTacToe Grundriss Allgemeine Java-Themen 11
N Vergleich von generischen Typen Allgemeine Java-Themen 2
S String-Vergleich in if Allgemeine Java-Themen 7
P JNA - JNI - pures Java - Vergleich Allgemeine Java-Themen 6
I Vergleich zweier Felder Allgemeine Java-Themen 3
M Vergleich von TreeSet<HashSet>^2 Allgemeine Java-Themen 8
F Vergleich zweier Listen Allgemeine Java-Themen 4
U Java Performance im Vergleich zu C++ in speziellem Anwendungsfall Allgemeine Java-Themen 6
D Was ist schneller? Zuweisung oder Vergleich? Allgemeine Java-Themen 18
O String NICHT vergleich Allgemeine Java-Themen 7
G Vergleich von .jpg Dateien Allgemeine Java-Themen 2
I vergleich und zählen von Strings Allgemeine Java-Themen 7
K Vergleich von Icons . Allgemeine Java-Themen 8
N vergleich mit while und for schleife Allgemeine Java-Themen 7
M Vergleich im geordeten Vector und Methodenaufruf Allgemeine Java-Themen 2
minzel String in String (Vergleich) Allgemeine Java-Themen 2
J vergleich zweier datenstrukturen Allgemeine Java-Themen 6
P Vergleich: Java - .net Allgemeine Java-Themen 5
T Vergleich von Tastatureingabe mit dem was in der Datei steht Allgemeine Java-Themen 21
N Split -> IF-String vergleich Allgemeine Java-Themen 5
N Vergleich zweier Hashtable / mehrere Enumerations Allgemeine Java-Themen 7
C Performance Vergleich, Java vs. Tcl/Tk Allgemeine Java-Themen 3
B bit vergleich oder regex Allgemeine Java-Themen 1
I Mehrere Klassen mit den selben Daten Allgemeine Java-Themen 5
padde479 Collections Daten in Dreiecksform Allgemeine Java-Themen 13
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
torresbig Url nach Webseiten-Login auslesen & Daten an Webseite senden Allgemeine Java-Themen 9
A Hartgecodete Daten auslagern Allgemeine Java-Themen 4
F Laden von bestimmten Daten aus TAR Archiv Allgemeine Java-Themen 23
S Webservices für binäre Daten? Allgemeine Java-Themen 5
OnDemand Daten in RAM zwischenspeichern oder lieber aus DB holen? Allgemeine Java-Themen 24
J Daten über serielle Schnittstelle empfangen Allgemeine Java-Themen 4
J JSON Daten von einer Webseite erhalten Allgemeine Java-Themen 2
S Entities aus XML - Daten. Allgemeine Java-Themen 1
M Schnelleres Speichern von XML-Daten über URLConnection Allgemeine Java-Themen 4
kodela Klasse mit "gezipten" Daten Allgemeine Java-Themen 6
M Daten aus MatLab Datei lesen Allgemeine Java-Themen 8
N Daten einer JCoTable in JTextArea anzeigen Allgemeine Java-Themen 7
kodela Klassen Klasse "vergisst" ihre Daten Allgemeine Java-Themen 2
C Daten für Klassifikationsverfahren gewinnen Allgemeine Java-Themen 6
J Daten von Quelltext Allgemeine Java-Themen 5
K OOP Daten addieren sich bei GUI-Eingabe Allgemeine Java-Themen 10
J Jasper Reports - Daten vom Hoster Allgemeine Java-Themen 2
kodela Daten während Laufzeit zugriffsbereit Allgemeine Java-Themen 15
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
Q Selbständig ActionEvent auslösen zum Daten senden über serielle Schnittstelle Allgemeine Java-Themen 7
J Daten aus Website-Quelltext auslesen Allgemeine Java-Themen 62
R Android Daten online senden Allgemeine Java-Themen 0
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
K Gespeicherte Daten von einer LinkedList auf vier LinkedList verteilen Allgemeine Java-Themen 6
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
K Datei (CSV-ähnlich) in Java einlesen & mit teil der Daten Graphen erstellen Allgemeine Java-Themen 9
A Erste Schritte Daten aus einer Website auslesen Allgemeine Java-Themen 7
OnDemand Desktop-Applikation schreiben, wie daten persistent? Allgemeine Java-Themen 9
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
J Auslesen Daten Java/HTML Allgemeine Java-Themen 15
K Große Mengen an Daten speichern Allgemeine Java-Themen 9
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
A Swing FileWriter schreibt keine Daten in Datei Allgemeine Java-Themen 13
M Daten aus anderen Programmen auslesen Allgemeine Java-Themen 2
D Best Practice Login-Daten: Wie am besten abrufen? Allgemeine Java-Themen 6
L Best Practice Log Dateien analysieren und eventuell passende Daten am Chart darstellen Allgemeine Java-Themen 1
J Serial Port Daten empfangen Allgemeine Java-Themen 5
H Daten via COM Schnittstelle erhalten Allgemeine Java-Themen 2
J Daten persistent speichern Allgemeine Java-Themen 14
S Allgemeine parallelisierte Loesung um Daten im Hintergrund zu laden..? Allgemeine Java-Themen 6
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
G Daten aus Website auslesen Allgemeine Java-Themen 7
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
T Input/Output Daten in eine Datei schreiben Allgemeine Java-Themen 4
Z daten bindung Allgemeine Java-Themen 1
A Datentypen Gregorian Calendar - 2 Daten sind gleich?? Allgemeine Java-Themen 3
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
A Daten in Formularen/Vorlagen erstellen und ausdrucken Allgemeine Java-Themen 3
C HtmlUnit Daten einer Tabelle bekommen ohne, dass diese eine ID aufweist Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
Todesbote Excel Blattschutz aufheben und Daten einfügen Allgemeine Java-Themen 3
T Mit Apache Poi Daten aus einer Excel Tabelle kopieren und in Word einfügen Allgemeine Java-Themen 1
OnDemand PC identifizieren / Daten auslesen Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben