0

我正在点击一个 xml 并将响应返回到输入流中。此 xml 在远程服务器上。

每当我在服务器上运行我的代码时,它都会给我 JDOMException,但是相同的代码,我在本地计算机上运行并在远程服务器上访问相同的 xml,它运行良好。

URL url = new URL("http://testwww.net/xml/android.xml");

InputStream stream = url.openStream();
try {
    SAXBuilder builder = new SAXBuilder(false);
    xmlDocument = builder.build(stream);
} catch (JDOMException e) {
    throw new Exception("unable to read android listing document", e);
}

堆栈跟踪是

org.jdom.input.JDOMParseException:第 1 行错误:在公共标识符中发现了无效的 XML 字符(Unicode:0x5c)。在 org.jdom.input.SAXBuilder.build(SAXBuilder.java:468) 在 org.jdom.input.SAXBuilder.build(SAXBuilder.java:770) 在 com.cellularsouth.dao.appsdetails.GetAndroidApps.getCategoriesData(GetAndroidApps.java :42) 在 com.cellularsouth.discovercenter.appsdetails.web.AndroidApps.androidCategoryData(AndroidApps.java:28) 在 com.cellularsouth.servlets.discovercentercontroller.handleRequestInternal(discovercentercontroller.java:62) 在 org.springframework.web.servlet。 mvc.AbstractController.handleRequest(AbstractController.java:153) 在 org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) 在 org.springframework.web.servlet.DispatcherServlet。WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3231) 在 weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 在 weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) 在 weblogic .servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2002) 在 weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1908) 在 weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1362) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:209) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:181) 原因:org.xml.sax.SAXParseException: 一个无效的 XML 字符 (Unicode: 0x5c) 是在公共标识符中找到。在 org.apache.xerces.util.ErrorHandlerWrapper。

它在第一行给了我错误,但实际上我在这里看不到任何问题。XML 是

- - - - - - - - - - - - - 继续 - - -

我无法弄清楚这里可能是什么问题,相同的 xml 在一台机器上运行良好,而在另一台机器上却没有。xml没有问题。

请帮我。

谢谢惠普

4

1 回答 1

0

我有问题。问题是,我的服务器在 UNIX 上运行,而我的 localhost 在 Windows 上运行。因此,xml 未正确编码,因此 Unix 无法找到一些字符,它给了我解析错误,但它们在 Windows 上渲染得很好。

于 2011-05-05T18:45:13.897 回答