clojure xml/parse是否返回惰性序列?

clojure xml/parse是否返回惰性序列?,clojure,lazy-evaluation,Clojure,Lazy Evaluation,ClojureXML/parse返回xml文件的映射 (ns xml-lib.core ^{:author "Charles M. Norton", :doc "xml-lib is an xml parsing library built on clojure-xml. Created on June 26, 2012"} (:require [clojure.string :as cstr]) (:require [util.core :as utl])

ClojureXML/parse返回xml文件的映射

(ns xml-lib.core
  ^{:author "Charles M. Norton",
    :doc "xml-lib is an xml parsing library built on clojure-xml.
        Created on June 26, 2012"} 
  (:require [clojure.string :as cstr])
  (:require [util.core :as utl])
  (:require [clojure.xml :as cjxml]))

(defn ret-xml-data
    "Returns a map of the supplied xml file."
    [xml-fnam]

    (let [test-file-nam (utl/open xml-fnam)]
    (cjxml/parse xml-fnam))
返回的映射是惰性的,还是应该将解析调用传递给惰性序列函数

谢谢

(ret-xml-data "test.xml")
返回(结果被截断)


它在引擎盖下使用SAX解析器,它将消耗整个xml文档,因此我假设它将创建完全实现的数据结构。

它在引擎盖下使用SAX解析器,它将消耗整个xml文档,因此我假设它将创建完全实现的数据结构。

简短的回答是否定的,clojure xml可能无法满足您的需要

xml是clojure xml的惰性成功者


简短的回答是否定的,clojure xml可能无法满足您的需要

xml是clojure xml的惰性成功者


这意味着我应该让它变懒?我想是因为你用了“完全实现”这个词。谢谢。我的意思是它是一个完整的数据结构,所以它已经在内存中了;SAX解析器并不一定意味着它创建了一个完全实现的数据结构,尽管在本例中这是正确的。旧的contrib.lazy-xml在一个新线程中启动解析器,该线程将元素放入队列,并返回一个seq,该seq将元素从队列中拉出。这意味着我应该将其设置为懒惰?我想是因为你用了“完全实现”这个词。谢谢。我的意思是它是一个完整的数据结构,所以它已经在内存中了;SAX解析器并不一定意味着它创建了一个完全实现的数据结构,尽管在本例中这是正确的。旧的contrib.lazy-xml在一个新线程中启动解析器,将元素放入队列,并返回一个seq,将元素从队列中拉出。谢谢。我明天会去看的。这很有用,但这是一个评论,不是对问题的回答(顺便说一句,答案是“不”)。它可以重新表述为一个答案(轻推,轻推)。谢谢。我明天会去看的。这很有用,但这是一个评论,不是对问题的回答(顺便说一句,答案是“不”)。它可以被重新表述为一个答案(轻推,轻推)。如果你想用Clojure惰性地解析XML,我建议,哪一个是Clojure-contrib以前在Clojure XML中的继承者。如果你想用Clojure惰性地解析XML,我建议,哪一个是Clojure-contrib以前在Clojure XML中的继承者。
{:tag :TamperExport, :attrs {:xmlns "http://