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
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
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
Zuletzt bearbeitet: