2017-02-16 5 views
1

ハッシュタグ(#)が含まれているxmlパスをドキュメントビルダーに解析しようとしていますが、動作しません。#を含めてすべてのパーザが無視されるようです。誰でも私は何ができるのか知っていますか? DocumentBuilderハッシュタグ付きパースパス

この

はコードです:

Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xml.getAbsolutePath()); 

XMLパスは、次のようになります。C:\ Users \ユーザーmiruna \ E#abc.xml エラーは私が手:java.io.FileNotFoundException: C:\Users\miruna\e

答えて

0

あなたはしませんでしたあなたの変数xmlのタイプが何であるかを明示してください。しかし、あなたが引数としてURI文字列を取る方法DocumentBuilder.parse(String uri) を使用している

File xml = ...; 

のようです。
URIでは、#は特別な意味を持ち、 はフラグメントをパスから分離しています。したがって、記述された問題が発生します。

修正するには、DocumentBuilder.parse(File f)メソッドを使用してFileを引数として使用するか、

Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xml); 

か、parse(String uri)方法に固執し、URI文字列

Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xml.toURI().toString()); 
+0

こんにちはへのファイルからの変換を修正し、答えてくれてありがとうことができます。これは、xmlをファイルとして解析することで動作します。 :) –

+0

@MiruOrşaようこそ。これで問題が解決したら、その答えを受け入れるべきです。 –

関連する問題