我正在尝试使用 DocumentBuilder 的 parse 方法解析 xml,该方法将 URI 作为参数。为此,我创建了一个表示 URI 的 String 对象,然后调用 parse 方法,将 String 对象作为参数传递。
parse 方法调用工作正常,返回一个新的 DOM 对象。但是,当我尝试打印返回的 DOM 对象时,它说: org.xml.sax.SAXParseException: 根元素之后的文档中的标记必须格式正确。解析xml的代码片段如下所示:
String sURL="http://host:port/myapp/serv?arg=abc&arg2=def";
DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
doc = dBuilder.parse(sURL);
当我手动尝试在浏览器中访问 URL 时,它工作正常,即它返回 xml。
url 返回的 xml 格式正确。
如上所示调用的 parse 方法不会引发任何异常,但是 DOM 对象会告知 org.xml.sax.SAXParseException
以下是异常的堆栈跟踪:
org.xml.sax.SAXParseException:文档中根元素之后的标记必须格式正确。在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) 在 com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) 在 com.sun.org .apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) at com.sun.org.apache.xerces.internal .impl.XMLDocumentScannerImpl$TrailingMiscDriver.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl com.sun.org.apache.xerces.internal 上的 .scanDocument(未知来源)。
对此的任何帮助将不胜感激。
谢谢。