Я пытаюсь проанализировать xml, используя DocumentBuilder
parse
метод, который принимает URI в качестве аргумента. Для этого я создаю объект String
, представляющий URI, а затем вызываю метод parse
, передавая объект String
в качестве аргумента.
Вызов метода parse
работает нормально, возвращает новый объект DOM. Однако, когда я пытаюсь напечатать возвращенный объект DOM, он говорит:
org.xml.sax.SAXParseException: разметка в документе после корневого элемента должна быть правильно сформирована. Фрагмент кода для разбора xml показан ниже:
String sURL="http://host:port/myapp/myfile.xml";
DocumentBuilder dBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
doc = dBuilder.parse(sURL);
Однако, если 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-адрес во время вызова метода parse
?
Спасибо.