|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Apr 2004
Città: Ascoli Piceno
Messaggi: 742
|
[JAVA] Uguaglianza di alberi XML
Sto impazzendo da tre giorni. Allora, il problema è il seguente: ho degli alberi xml che devono essere confrontati per vedere se sono uguali (in realtà sono dei nodi di documenti xml ma è lo stesso discorso perchè si portano dietro il sottoalbero annesso). Avevo pensato di utilizzare semplicemente il metodo toXML della libreria XOM che mi stampa in una stringa tutto il contenuto del nodo in analisi, nodo compreso e vedere se fosse uguale ad un altro stampato con lo stesso metodo: facendo così però naturalmente mi ritrovo con alberi che possono essere uguali ma non vengono presi in considerazione perchè hanno testo interno agli elementi diverso.
Allora ho provato ad utilizzare la combo delle seguenti librerie: import nu.xom.tests.XOMTestCase; import junit.framework.*; di cui un'applicazione nel mio codice sarebbe così: Codice:
try { XOMTestCase.assertEquals(RootT2, rootT); break; } catch (ComparisonFailure fail) { RootT2 = (Element)(RootT2.getParent()); } Il problema è che spesso e volentieri per alcuni nodi ho un'eccezione che non viene minimamente "catchata" dalla comparison failure e ciò mi fa danno nel proseguio del programma... L'eccezione è: Codice:
Exception in thread "main" junit.framework.AssertionFailedError: expected:<1> but was:<3> at junit.framework.Assert.fail(Assert.java:47) at junit.framework.Assert.failNotEquals(Assert.java:277) at junit.framework.Assert.assertEquals(Assert.java:64) at junit.framework.Assert.assertEquals(Assert.java:195) at nu.xom.tests.XOMTestCase.compareChildren(XOMTestCase.java:401) at nu.xom.tests.XOMTestCase.assertEquals(XOMTestCase.java:365) at nu.xom.tests.XOMTestCase.assertEquals(XOMTestCase.java:279) at unicam.aaftx.operators.Projection.evaluate(Projection.java:69) at unicam.aaftx.operators.Scoring.threshold(Scoring.java:22) at unicam.aaftx.parsing.Evaluation.eval(Evaluation.java:73) at unicam.aaftx.data.Main.main(Main.java:46) Non so più che pesci pigliare ![]()
__________________
Toshiba Satellite A500-14F : Intel® Core™2 Duo P8700; ATI Mobility Radeon™ HD 4650; TruBrite® HD TFT High Brightness display 16.0"; 4,096 MB DDR2 RAM; HD 320 GB; Wi-Fi+BT 802.11a/g/Draft-N; Built-in Harman Kardon® stereo speakers; Touch Pad with Multi-Touch Control; TV Tuner ibrido digitale (DVB-T) e analogico; DVD Super Multi drive; Windows 7 Professional |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:34.