0

我使用以下代码获取 XML 文档(通过 java 中的 JDOM):

SAXBuilder builder = new SAXBuilder();
Document doc= builder.build(new URL("http://www.sasatuan.com/api/api.php"));

我得到一个例外:

org.jdom.input.JDOMParseException: Error in building:
 http://www.sasatuan.com/api/api.php:1: <?xml ... ?> occurs after content.  The
<?xml ... ?> prolog must be at the document start.: http://www.sasatuan.com/api/
api.php:1: <?xml ... ?> occurs after content.  The <?xml ... ?> prolog must be a
t the document start.
        at org.jdom.input.SAXBuilder.build(SAXBuilder.java:473)
        ...

我在 IE 中输入这个 URL http://www.sasatuan.com/api/api.php,没关系,但在 Firefox 或 chrome 中,它是同样的错误。

此 xml 标头不在文档开头,因此 jdom 无法读取它。

我认为在构建之前 trim() xml 内容可以修改这个问题,我想知道如何做到这一点。

感谢帮助 :)

4

1 回答 1

1

您是否有其他类似损坏的 XML 文件需要阅读?如果没有,我会亲自尝试与网站所有者取得联系。该 XML 完全无效 - 修复它可能很容易,这将帮助所有人,而不仅仅是您。

如果这不吸引人,那么将内容作为字符串下载,在内存中修剪,然后加载它可能是最简单的。您可以尝试跳过输入流的相关位,但这更有可能是繁琐的。

于 2010-08-23T05:52:19.260 回答