JAXB:unmarshalexception - 带有链接异常:[java.io.IOException: Stream closed]
Posted
技术标签:
【中文标题】JAXB:unmarshalexception - 带有链接异常:[java.io.IOException: Stream closed]【英文标题】:JAXB : unmarshalexception - with linked exception: [java.io.IOException: Stream closed] 【发布时间】:2014-05-18 23:44:12 【问题描述】:我正在尝试使用 SAX 解析我的 xml,我想使用 JaxB 来构建我的地图我的元素名称及其值。我还想覆盖 startElement 和 endElemnt 但到目前为止我已经到达这里并且我正在解组例外。任何帮助表示赞赏!。
JAXBContext jaxbContext = JAXBContext.newInstance(my.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
UnmarshallerHandler unmarshallerHandler = jaxbUnmarshaller.getUnmarshallerHandler();
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
xr.setContentHandler(unmarshallerHandler);
InputStream inputStream = this.getClass().getResourceAsStream("my.xml");
InputSource inputSource = new InputSource(inputStream);
xr.parse(inputSource);
JAXBElement element = (JAXBElement) jaxbUnmarshaller.unmarshal(inputSource);
//or if I unmarahall to specific class object still i get same exception.
catch (JAXBException e)
// some exception occured
e.printStackTrace();
【问题讨论】:
【参考方案1】:在对 InputSource
使用 SAX 解析之后,您无法解组它。在UnmarshallerHandler
上调用getResult
获取对象。
【讨论】:
那么如何将 xml 文件解组为 java 类对象? @SriHari - 这是您要查找的信息吗:wiki.eclipse.org/EclipseLink/Examples/MOXy/GettingStarted 在上面的链接中,我得到的响应为空。请查看 pojo 类以获取 xml 响应?以上是关于JAXB:unmarshalexception - 带有链接异常:[java.io.IOException: Stream closed]的主要内容,如果未能解决你的问题,请参考以下文章
javax.xml.bind.UnmarshalException:意外元素。预期元素是(无)
Jaxb2Marshaller在春天解组 - 意想不到的元素
javax.xml.bind.UnmarshalException:意外元素(uri:“”,本地:“组”)
java.rmi.UnmarshalException:解组参数错误;嵌套异常是:java.lang.ClassNotFoundException: ServicesTableau
如何修复:javax.xml.bind.UnmarshalException:意外元素(uri:“”,本地:“目录”)。预期元素是(无)