xml中的parse方法在Clojure中抛出IllegalArgumentException

xml中的parse方法在Clojure中抛出IllegalArgumentException,xml,xml-parsing,clojure,Xml,Xml Parsing,Clojure,我将在clojure中解析XML。在REPL中,我输入以下内容: (require '[clojure.java.io :as io]) (require '[clojure.xml :as xml]) (require '[clojure.zip :as zip]) (-> "example.nzb" io/resource io/file xml/parse zip/xml-zip) 我得到一个IllegalArgumentException InputStream在执行该命令时不

我将在clojure中解析XML。在REPL中,我输入以下内容:

(require '[clojure.java.io :as io])
(require '[clojure.xml :as xml])
(require '[clojure.zip :as zip])

(-> "example.nzb" io/resource io/file xml/parse zip/xml-zip)
我得到一个IllegalArgumentException InputStream在执行该命令时不能为null javax.xml.parsers.SAXParser.parse SAXParser.java。我发现异常是由xml/parse方法引起的:


问题中提到的表达是有效的。只需确保已在项目中包含example.nzb文件,并确保重新启动REPL。

是否检查io/file io/resource example.nzb是否返回非nil值?不要将io/file与io/resource一起使用-它对JAR资源无效。改用io/输入流。如果仍然返回nil,则在类路径的任何位置都没有名为example.nzb的资源。@Alex使用io/input stream会引发以下错误:IllegalArgumentException没有实现方法::make input stream of protocol:'clojure.java.io/IOFactory为类找到:nil clojure.core//cache-protocol-fn core\u deftype.clj:541
(xml/parse (io/file (io/resource "example.nzb")))