我在 Gradle 脚本中有以下代码片段(语法是 Groovy/Java 的组合):
File file = new File(filename) // Filename is being read from console
def content = file.getText()
Document document = DOMBuilder.parse(new StringReader(content), false, false)
问题是,我正在尝试解析 XML 文件,但带有xconf
扩展名(例如file.xconf
)。出于某种原因,当我尝试上面的代码时,我收到以下错误消息(在控制台中):
java.io.FileNotFoundException: <full_path>/file.dtd (No such file or directory)
路径是正确的,但我注意到扩展名突然更改为.dtd
. 我注意到文件中有对该文件版本的引用.dtd
,但我希望解析器忽略它(并停止验证,这就是为什么第二个参数 DOMBuilder.parse()
为假的原因)。我可以更改此行为以成功解析文件吗?
注意:如果可能的话,我也希望能够对(任何)其他文件扩展名做同样的事情。
提前致谢!