我收到了一个带有 URLConnection 的 xml 输入流。但是,当我尝试解组输入流时。它抛出一个异常。javax.xml.bind.UnmarshalException - 带有链接异常:[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[53088,40] 消息:对实体“T”的引用必须以“;”结尾 分隔符。]
代码:
try {
URL url = new URL(hostURL);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Accept", "application/xml");
urlConnection.setRequestProperty("Authorization", "Basic " + authDetails);
InputStream inputStream = urlConnection.getInputStream();
XMLInputFactory xif = XMLInputFactory.newInstance();
xif.setProperty("javax.xml.stream.isCoalescing", true);
XMLStreamReader xsr = xif.createXMLStreamReader(inputStream);
// Advance to the "Packages" element.
while(xsr.hasNext()) {
if(xsr.isStartElement() && "packages".equals(xsr.getLocalName())) {
break;
}
xsr.next();
}
JAXBContext jaxbContext = JAXBContext.newInstance(Packages.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
packages = (Packages) jaxbUnmarshaller.unmarshal(xsr);
}catch (JAXBException e) {
e.printStackTrace();
}catch (MalformedURLException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}finally{
}
PS: [row,col]:[53088,40] = T&T evol 的新产品站点
您可以在链接http://pastebin.com/LuhbnMQq中找到堆栈跟踪
伙计们对这件事很陌生并坚持下去,任何帮助将不胜感激
布拉萨拉