我有像以下JAXB解組單本原元素
<tag1>
<intag1>
<item>
<aaa>sdfdfsf</aaa>
<bbb>fvdfv</bbb>
</item>
</intag1>
<intag2>3</intag2>
</tag1>
我使用彈簧料與JAXB讀取xml並映射到對象的XML文件。我有一個對象模型intag1
,它沒有任何問題映射,但我想直接將intag2
映射到int
對象。以下是我一直在測試的示例代碼,但這給我以下例外。任何人都可以指出這個問題嗎?
Jaxb2Marshaller jaxb2unmarshaller = new Jaxb2Marshaller();
jaxb2unmarshaller.setClassesToBeBound(int.class);
jaxb2unmarshaller.afterPropertiesSet();
StaxEventItemReader reader = new StaxEventItemReader();
reader.setResource(new InputStreamResource(new FileInputStream("test6.xml")));
reader.setUnmarshaller(jaxb2unmarshaller);
reader.setFragmentRootElementName("intag2");
reader.afterPropertiesSet();
reader.open(new ExecutionContext());
例外:
[com.sun.istack.internal.SAXParseException2; lineNumber: 105; columnNumber: 25; unexpected element (uri:"", local:"intag2"). Expected elements are (none)]
我已經有了映射'intag1'和'intag1'的模型類可以重複1000次以上,這就是爲什麼我使用流式傳輸。我不想將根級'tag1'元素映射到java對象,因爲它需要更多的內存。 – Sudheera
@Sudheera我更新了我的答案以符合您的需求 – Thrax
您好@Thrax謝謝,我剛剛發佈了另一個答案,只是快速瀏覽一下。 – Sudheera