我正在尝试使用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>
方法调用期间识别不存在的网址的任何想法?
感谢。
答案 0 :(得分:2)
我个人更喜欢设置网络连接,或者自己打开文件,然后将流传递给xml子系统。它的工作多一点,但你可以控制他的进展。也就是说,你并不依赖别人认为在那种情况下的好主意。
执行此操作时,还需要确保关闭流。下面的XML位不会假设这就是你想要的。