我有一个大表有效XHTML文件(100兆字节的数据)。首先tr是列(用于数据库),其他所有tr都是数据。它是整个文档中的唯一表格,它在结构体html-> body-> div-> table中。我该如何在Clojure中懒散地解析大型XHTML文件?
我如何解析它在Clojure的偷懒的办法?
我知道data.xml而是因为我初学CLJ是很困难的,我让它工作。尤其是因为REPL在处理这么大的文件时速度很慢。
我有一个大表有效XHTML文件(100兆字节的数据)。首先tr是列(用于数据库),其他所有tr都是数据。它是整个文档中的唯一表格,它在结构体html-> body-> div-> table中。我该如何在Clojure中懒散地解析大型XHTML文件?
我如何解析它在Clojure的偷懒的办法?
我知道data.xml而是因为我初学CLJ是很困难的,我让它工作。尤其是因为REPL在处理这么大的文件时速度很慢。
data.xml
文档说,它创建一个文档的懒汉树:parse。我在当地检查,这似乎是正确的:
; Load libs
(require '[clojure.data.xml :as xml])
(require '[clojure.java.io :as io])
; standard.xml is 100MB xml file from here http://www.xml-benchmark.org/downloads.html
(def xml-tree (xml/parse (io/reader "standard.xml")))
(:tag xml-tree) => :site
(def child (first (:content xml-tree)))
(:tag child) => :regions
(dorun (:content xml-tree)) => REPL hangs for ~30 seconds on my computer because it tries to parse whole file
参见http://stackoverflow.com/questions/9939844/huge-xml-in-clojure – Korny