Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java URL不存在时的SAXParseException_Java_Xml_Saxparseexception - Fatal编程技术网

Java URL不存在时的SAXParseException

Java URL不存在时的SAXParseException,java,xml,saxparseexception,Java,Xml,Saxparseexception,我试图使用DocumentBuilder的解析方法解析xml,该方法将URI作为参数。为此,我创建了一个表示URI的String对象,然后调用传递String对象作为参数的parse方法 parse方法调用工作正常,返回一个新的DOM对象。但是,当我尝试打印返回的DOM对象时,它会显示: org.xml.sax.SAXParseException:根元素后面的文档中的标记必须格式正确。解析xml的代码段如下所示: <?xml version="1.0" encoding="utf-

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

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

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

    <?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>
但是,当URL不存在时,解析方法仍然返回

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

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

    <?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>
关于如何在解析方法调用期间识别不存在的URL,有什么想法吗


谢谢。

就我个人而言,我更喜欢设置网络连接,或者自己打开文件,然后将流传递到xml子系统。这需要更多的工作,但你可以控制他的行为。i、 在那种情况下,你不依赖别人认为是好主意的东西


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

myfile.XML的内容是什么样子的?如果URL不存在,它可能会抛出IOException。我很确定您在这里发布的示例xml不是您收到的。按照比尔提出的建议去做