解析xml时出现SAXParseException

时间:2011-12-14 08:41:09

标签: java xml saxparseexception

我正在尝试使用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:根元素后面的文档中的标记必须格式正确。       at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)       at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)       at 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.scanDocument(Unknown Source)       at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)       at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)       在com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(未知来源)       at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)       at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)       在javax.xml.parsers.DocumentBuilder.parse(未知来源)       在DocBuilderTest.getDocumentFromURL(DocBuilderTest.java:103)       在DocBuilderTest.main(DocBuilderTest.java:54)

对此的任何帮助都将受到高度赞赏。

感谢。

0 个答案:

没有答案