URIを引数とするDocumentBuilder
のparse
メソッドを使用してxmlを解析しようとしています。このために、URIを表すString
オブジェクトを作成し、String
オブジェクトを引数として渡してparse
メソッドを呼び出します。URLが存在しない場合のSAXParseException
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>
私はparse
メソッド呼び出しの間に存在しないURLを識別できる方法上の任意の考え?
ありがとうございました。
myfile.xmlのコンテンツはどのように見えるのですか?存在しないURLの場合には、おそらく 'IOException'をスローします。 http://docs.oracle.com/javase/6/docs/api/javax/xml/parsers/DocumentBuilder.html#parse%28java.lang.String%29 –
サンプルXMLを追加しました.. – ria
私はかなり確信していますあなたがここに投稿したサンプルXMLはあなたが受け取っているものではありません。 Billが投稿した提案に従ってください –