gpt4 book ai didi

xml - 无法在 Clojure 中使用命名空间 clojure.data.zip.xml

转载 作者:行者123 更新时间:2023-12-04 16:51:56 26 4
gpt4 key购买 nike

我正在关注 this article用于 XML 解析。它有一个示例代码,当我在 REPL 中玩时对我不起作用:

(require '[clojure.data.zip.xml :as zip-xml])

它向我抛出以下错误: FileNotFoundException Could not locate clojure/data/zip/xml__init.class or clojure/data/zip/xml.clj on classpath
我正在为项目使用 leiningen,并在项目中定义了以下依赖项:
[org.clojure/clojure "1.5.1"]
[org.clojure/data.zip "0.1.1"]

关于有什么问题的任何想法?

最佳答案

可能有几个问题,从项目布局到需要重新启动 nrepl。为了帮助解决这个问题,这里有一个工作项目来测试:

git clone git@github.com:thearthur/zip-xml-example.git

项目.clj:
(defproject zip-example "0.1.0-SNAPSHOT"                                                                                                                                  
:description "FIXME: write description"
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:dependencies [[org.clojure/clojure "1.5.1"]
[org.clojure/data.zip "0.1.1"]])

核心.clj:
(ns zip-example.core                                                                                                                                                      
(:require [clojure.data.zip.xml :as zip-xml]
[clojure.zip :as zip]
[clojure.xml :as xml]
[clojure.pprint :refer [pprint]]))

(def xml
"<?xml version=\"1.0\" encoding=\"iso-8859-1\" ?>
<!-- <!DOCTYPE nzb PUBLIC \"-//newzBin//DTD NZB 1.1//EN \" \"http://www.newzbin.com/DTD/nzb/nzb-1.1.dtd \"> -->
<nzb xmlns=\"http://www.newzbin.com/DTD/2003/nzb\">
<head>
<meta type=\"title \">Your File!</meta>
<meta type=\"tag \">Example</meta>
</head>
<file poster=\"Joe Bloggs &lt;bloggs@nowhere.example&gt;\" date=\"1071674882\" subject=\"Here's your file! abc-mr2a.r01 (1/2)\">
<groups>
<group>alt.binaries.newzbin</group>
<group>alt.binaries.mojo</group>
</groups>
<segments>
<segment bytes= \"102394\" number= \"1\">123456789abcdef@news.newzbin.com</segment>
<segment bytes= \"4501\" number= \"2\">987654321fedbca@news.newzbin.com</segment>
</segments>
</file>
</nzb>")

(spit "test.xml" xml)
(def parsed-xml (zip/xml-zip (xml/parse "test.xml")))
(pprint (zip-xml/xml-> parsed-xml :head :meta))

关于xml - 无法在 Clojure 中使用命名空间 clojure.data.zip.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17547299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com