我正在尝试向文档构建器解析一个xml路径,其中包含一个主题标签(#),并且它不起作用,似乎解析器忽略了#inclusive之后的所有内容。有谁知道我能做什么?
这是代码:
Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xml.getAbsolutePath());
xml路径如下所示:C:\ Users \ miruna \ e#abc.xml
我得到的错误:java.io.FileNotFoundException: C:\Users\miruna\e
答案 0 :(得分: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());