2010-03-18 74 views
8

我創建了一個XML模式(foo.xsd)並使用xjc爲JAXB創建了我的綁定類。假設根元素是collection,我正在寫N document對象,這些對象是複雜的類型。使用JAXB和Stax驗證編組XML文檔

因爲我打算寫出大型的XML文件,所以我使用Stax來寫出collection根元素,並使用Marshaller.marshal(JAXBElement, XMLEventWriter)編寫JAXB來編組文檔子樹。這是jaxb's unofficial user's guide推薦的方法。

我的問題是,如何在編組XML時驗證XML?如果我將模式綁定到JAXB編組器(使用Marshaller.setSchema()),我得到驗證錯誤,因爲我只是編組子樹(它抱怨它沒有看到collection根元素「)。我想我真正想要做的是綁定一個我想要能夠使用JAXB編組和解組大小的XML文檔,而不會出現內存不足,所以如果有更好的方法,可以使用JAXB來編組和解組。這樣做的方式讓我知道

+0

+1好問題。 – skaffman 2010-03-18 15:51:34

回答