2012-06-07 66 views
0

我想使用JiBX解開巨大的XML文件,但我不希望它針對XSD進行驗證。我該怎麼做呢?概念如何解組使用JiBX而不使用XSD?

證明(JUnit的片段,對符合個XML對XSD作品):

IBindingFactory bfact = BindingDirectory.getFactory(Customer.class); 
IUnmarshallingContext uctx = bfact.createUnmarshallingContext(); 
Customer customer = (Customer) uctx.unmarshalDocument(new FileInputStream(fileLocation), null); 

爲什麼需要這個?我有一個RESTful服務,允許用戶上傳大量的XML文件。 Castor被證明工作太慢,我現在正在JiBX重寫文章。雖然我從經驗中知道用戶有時會上傳可處理99.9%的文件,但元素中會有一個額外的XML屬性會導致整個XML不正確。我仍然想解除所有我能記憶的內容並手動進行驗證。

回答

0

Pomario,
你想要做什麼是可能的。我建議你從github下載我們的源代碼並測試一些xml文件。如果JiBX抱怨模型中沒有的XML元素和屬性,請在我們的源代碼中找到錯誤,並將代碼更改爲忽略錯誤的XML數據,而不是拋出錯誤。
我不應該太難。
祝你好運!