30

私は Java を使用しており、http リンクから XML ドキュメントを取得しようとしています。私が使用しているコードは次のとおりです。

URL url = new URL(link);

HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
Document doc = null;

CountInputStream in = new CountInputStream(url.openStream());
doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in);

に注意を払わないでください。これはCountInputStream、通常の入力ストリームのように機能する特別なクラスです。

上記のコードを使用すると、時々エラーが発生しましFatal Error :1:1: Content is not allowed in prologた。これはxmlの形式が悪いことに関係していると思いますが、修正方法がわかりません。

4

7 に答える 7

31

私はコメントを回答に変えているので、それを受け入れることができ、この質問はもはや未回答のままではありません.

これの最も可能性の高い原因は、最初の<?xml …&gt;. したがって、HTTP 経由で転送されたドキュメントを見て、サーバー側でこれを修正してください。

于 2012-07-22T21:02:24.753 に答える
8

XML プリアンブル ( ) の前にいくつかの奇妙な文字 (例: BOM ) または空白があります<?xml ...?>か?

于 2012-07-20T11:06:44.010 に答える
0

この質問に対する回答として、誰かが Johannes Weiß のコメントをマークする必要があります。これがまさに、xml ドキュメントを DOM Document クラスにロードできない理由です。

http://en.wikipedia.org/wiki/Byte_order_mark

于 2013-11-13T09:04:46.413 に答える