0

Apache Commons IO - BOMInputStream メソッドを使用して BOM を削除し、XML 形式の URL を解析しようとしました。ただし、次のエラー

[致命的なエラー] :1:1: プロローグではコンテンツを使用できません。org.xml.sax.SAXParseException; 行番号: 1; 列番号: 1; コンテンツはプロローグで許可されていません。

プログラムの実行時に残りました。XML 形式の URL リンクに複数の BOM が含まれている可能性があることを確認しましたが、BOMInputStream メソッドで処理できるはずだと思いました。私のコードにまだ残っている問題はありますか? どんな助けにも感謝します。

ps 文字列を使用して URL を解析できますが、データを正確に解析できるように XML 形式を保持したいと考えています。

public void parseGoogleApi() throws IOException, SAXException,ParserConfigurationException {

    try {
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();

        urlName = "http://www.google.com/finance/getprices?q=0005&x=HKG&i=3600&p=10d&f=d,c,h,l,o,v";
        URL u = new URL(urlName);
        HttpURLConnection urlCon = (HttpURLConnection) u.openConnection();                 
        urlCon.connect();
        InputStream iStream = urlCon.getInputStream();
        BOMInputStream bomIn = new BOMInputStream(iStream, ByteOrderMark.UTF_16LE, ByteOrderMark.UTF_16BE,ByteOrderMark.UTF_32LE, ByteOrderMark.UTF_32BE);

        Document doc = builder.parse(bomIn); 
        iStream.close();
        System.out.println(doc);

    } catch (Exception e) {
        System.out.println(e);
    }
}
4

0 に答える 0