2017-02-16 4 views
1

Я пытаюсь разобрать в Builder документа xml-путь, в котором есть hashtag (#), и он не работает, кажется, что парсер игнорирует все, что приходит после # включительно. Кто-нибудь знает, что я могу сделать?Путь анализа DocumentBuilder с hashtag

Это код:

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

Путь XML выглядит следующим образом: C: \ Users \ Miruna \ е # abc.xml Я получаю ошибку: java.io.FileNotFoundException: C:\Users\miruna\e

ответ

0

Вы не прямо укажите тип переменной xml. Но это, кажется,

File xml = ...; 

Вы используете метод DocumentBuilder.parse(String uri) который принимает строку URI в качестве аргумента.
В URI# имеет специальное значение, , отделяющее путь от фрагмента. Поэтому вы получаете описанную проблему.

Чтобы исправить это, вы можете использовать метод DocumentBuilder.parse(File f), который принимает файл как аргумент.

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 Добро пожаловать. Если это решит вашу проблему, вы должны принять ответ. –