我有一個搖籃腳本下面的代碼片段(語法的Groovy/Java的的組合):解析任何文件類型爲XML
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()
的第二個參數爲false)。我可以改變這種行爲能夠成功解析文件嗎?
注意:如果可能,我還希望能夠對(任何)其他文件擴展名執行相同的操作。
在此先感謝!
迄今爲止工作完美。謝謝! – 2013-04-25 09:03:42
這是一個附帶問題:我注意到這個例子中,namespaceAwareness處於打開狀態。但是,我如何在這裏聲明命名空間?我完全不知道。你可以做這樣的事情:'f.declareNamespace(...)',然後爲方法添加一個額外的參數? – 2013-04-25 10:47:13
解析時不聲明名稱空間,它在XML文檔中聲明 – 2013-04-25 10:48:31