gpt4 book ai didi

parsing - 如何在 Clojure 中懒惰地解析大 XHTML 文件?

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

我有一张大表的有效 XHTML 文件(100 兆字节的数据)。第一个 tr 是列(用于数据库),所有其他 tr 是数据。它是整个文档中唯一的表格,结构为 html->body->div->table。

如何在 Clojure 中以惰性方式解析它?

我知道 data.xml但是因为我是 Clj 初学者,所以我很难让它发挥作用。特别是因为 REPL 在处理如此大的文件时非常慢。

最佳答案

data.xml docs 说它创建了一个文档的惰性树: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

关于parsing - 如何在 Clojure 中懒惰地解析大 XHTML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333637/

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