clojure-xml / parse是否返回一个懒惰的序列?

时间:2012-06-26 17:48:11

标签: clojure lazy-evaluation

clojure-xml / 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")

返回(结果被截断)。

{:tag :TamperExport, :attrs {:xmlns "http://

2 个答案:

答案 0 :(得分:3)

简短的回答是否定的,clojure-xml可能不会做你想要的。

data.xml是clojure-xml

的懒惰继承者

https://github.com/clojure/data.xml

答案 1 :(得分:1)

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

相关问题