私はxml->非常に混乱しているのを発見しました。私は、ドキュメントとサンプルを読んだが、XMLドキュメントのネストされたノードを取得する方法を理解することはできません。clojure.data.zipでxml->を使用してネストされたノードを取得する方法は?
次のXMLは、(XML-ZIPからのような)ジッパーであると仮定します
<html>
<body>
<div class='one'>
<div class='two'></div>
</div>
</body>
</html>
私はクラス= '2' でのdivを返すようにしようとしています。
私は仕事にこれを期待していた。
(xml-> z :html :body :div :div)
またはこの:CSSセレクタのようなの
(xml-> z :html :body :div (attr= :class "two"))
種類。
しかし、最初のレベルのみを返し、ツリーを検索しません。
私はそれを動作させることができる唯一の方法は次のとおりです。
(xml-> z :html :body :div children leftmost?)
私が行うことになってるどんなことですか?
私がxml->を使い始めた全理由は、利便性とジッパーの上下左右の移動を避けるためです。 xml->ネストされたノードを取得できない場合、clojure.zipよりも値が表示されません。
ありがとうございました。
私がzip/downで持っている問題は、私が子供を使って持っているのと同じ問題です:div。それは漏れた抽象です。タグのセマンティクス、つまり(xml-> z:html:body:div [2] text)かそれに類するものを表現できるようにしたい。ジッパーをたどると、時にはタグが混乱して読みづらいことがあります。 (xml->:html:body)の代わりに(xml->:htmlの左端の子ですか?) – Scott
私はこれまで、xml-seqを使ってコードを取得していました。思考xml->ははるかに簡単です。しかし、実際にはもっと複雑で、この不一致によって、xml-seqに戻ってしまいます。 – Scott
これに関する私の更新を見てください。 – akond