我发现 xml-> 的用法非常令人困惑。我已经阅读了文档和示例,但不知道如何获取 xml 文档的嵌套节点。
假设以下 xml 在拉链中(来自 xml-zip):
<html>
<body>
<div class='one'>
<div class='two'></div>
</div>
</body>
</html>
我正在尝试使用 class='two' 返回 div。
我期待这个工作:
(xml-> z :html :body :div :div)
或这个:
(xml-> z :html :body :div (attr= :class "two"))
有点像 CSS 选择器。
但它只返回第一级,并且不会向下搜索树。
我能让它工作的唯一方法是:
(xml-> z :html :body :div children leftmost?)
那是我应该做的吗?
我开始使用 xml-> 的全部原因是为了方便并避免上下左右导航拉链。如果 xml-> 无法获得嵌套节点,那么我看不到 clojure.zip 上的值。
谢谢。