是否可以通過部分驗證大型xml部件?在java中部分針對xsd進行xml驗證
對於如
<retail>
<pdt>
</pdt>
<pdt>
</pdt>
<pdt>
</pdt>
</retail>
認爲這是一個大的XML file.I需要驗證對一個XSD和我的驗證應該返回真,即使PDT中的任何一個成功的驗證,也應該給予理由其他人失敗。
是否可以通過部分驗證大型xml部件?在java中部分針對xsd進行xml驗證
對於如
<retail>
<pdt>
</pdt>
<pdt>
</pdt>
<pdt>
</pdt>
</retail>
認爲這是一個大的XML file.I需要驗證對一個XSD和我的驗證應該返回真,即使PDT中的任何一個成功的驗證,也應該給予理由其他人失敗。
首先是指這個XML validation in Java。 對於您的要求「需要驗證對一個XSD和我的驗證應該返回真,即使PDT中的任何一個成功的驗證,也應說明理由爲什麼別人失敗」
通過實施org.xml使自定義的ErrorHandler。 sax.ErrorHandler接口,然後註冊這個在這樣給出的示例中的驗證對象的ErrorHandler:
validator.setErrorHandler(new CustomValidationErrorHandler());
確保您調用validate()方法之前做到這一點。 在您的CustomErrorHandler中,您可以記錄在驗證時將會得到的異常,以查看xml中的所有錯誤,並且如果要繼續進行驗證,則不會引發該異常。你會得到它,當你開始實施這個。
JAXP validate()方法接受一個Source,所以你應該能夠提供一個包裝pdt元素節點的DOMSource。但是,這假定模式包含元素pdt的全局元素聲明。
我不明白。 – 2012-08-08 08:14:22
@edem - 這是你的問題。如果你不明白爲什麼回答? – 2012-08-08 13:26:58
我沒有回答。 – 2012-08-08 13:59:20