2

我有以下 xml 文件

<?xml version="1.0" encoding="utf-8"?>
<library xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="library.xsd">
  <SingleBook>
  </SingleBook>
</library>

我的 clojure (1.5.1) 程序在调用 (zip/branch?) 时崩溃并获得 NullPointerException

(let [f (.toFile (sh/getPath "lib.xml"))
    dom (clojure.zip/xml-zip (clojure.xml/parse f))
    top (clojure.zip/children dom)
    ]
    (prn (first top))
    (prn (clojure.zip/branch? (first top)))
)

我是 clojure.zip 和 clojure.xml 的新手。谁能告诉我为什么会崩溃?谢谢。

4

1 回答 1

1

当你得到孩子时,你得到的是节点内容的序列,而不是拉链本身。您将从顶部节点导航,并可以clojure.zip/down像这样继续使用您的拉链:

(clojure.zip/branch? (clojure.zip/down dom))

检查clojuredocs.org 关于 xml-zip了解更多信息!

于 2013-08-17T10:45:58.490 回答