用于XML文件解析我正在使用JAXB,但在编译之后报告错误
<script async custom-element="amp-bind" src="https://cdn.ampproject.org/v0/amp-bind-0.1.js"></script>
代码如下:
javax.xml.bind.JAXBException: No package name is given
at javax.xml.bind.ContextFinder.find(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
at searchAlgo.Question.<init>(Question.java:16)
我是否需要安装JAXB插件? 我正在使用jdk 1.8.0_91和eclipse mars
答案 0 :(得分:1)
JAXBContext.newInstance()需要Class或package名称。由于s是String,因此它被解释为包名。但是你的String是空的,所以你得到&#34;没有给出包名&#34;
答案 1 :(得分:1)
您的问题是您没有正确使用JAXB。
首先,
JAXBContext jaxbContext = JAXBContext.newInstance(s);
是错误的,因为JAXBContext.newInstance(...)
期待一个班级或&#34;根据 documentation
重点是确定JAXB正在处理什么类型的对象。换句话说,它将是C:\\Users\\Username\\Documents\\levels.xml
XML文件中的对象。
其次,
如果你想从XML文件中解组对象或将对象编组为String,我建议你阅读以下文档,其中有很多例子: