URL不存在时SAXParseException

时间:2011-12-15 05:28:20

标签: java xml saxparseexception

我正在尝试使用DocumentBuilder的{​​{1}}方法解析xml,该方法将URI作为参数。为此,我创建了一个表示URI的parse对象,然后调用String方法传递parse对象作为参数。

String方法调用正常,返回一个新的DOM对象。但是,当我尝试打印返回的DOM对象时,它会说:

  

org.xml.sax.SAXParseException:根元素后面的文档中的标记必须格式正确。用于解析xml的代码片段如下所示:

parse

但是,当URL不存在时,解析方法仍会返回

  

org.xml.sax.SAXParseException:以下文档中的标记   根元素必须格式良好。

xml是一个普通的xml,如下所示:

String sURL="http://host:port/myapp/myfile.xml";   
DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();      
doc = dBuilder.parse(sURL);

有关如何在 <?xml version="1.0" encoding="utf-8"?> <Data> <ColorMessages> <Message Color="RED">Warning: The batch color level is red. Please check it out!</Message> <Message Color="YELLOW">Alert: This batch color level is yellow. Please stay on alert!</Message> <Message Color="GREEN">Cool: The batch color level is green. Nice!</Message> <Message Color="BLUE">Excellent: The batch color level is blue. Great job!</Message> </ColorMessages> </Data> 方法调用期间识别不存在的网址的任何想法?

感谢。

1 个答案:

答案 0 :(得分:2)

我个人更喜欢设置网络连接,或者自己打开文件,然后将流传递给xml子系统。它的工作多一点,但你可以控制他的进展。也就是说,你并不依赖别人认为在那种情况下的好主意。

执行此操作时,还需要确保关闭流。下面的XML位不会假设这就是你想要的。