はあなたのファイルで解析するには、次のXMLがあるとします。
<high-node>
<low-node>my text</low-node>
</high-node>
あなたがclojure.xml
をロード:
{:tag :high-node, :attrs nil, :content [{:tag :low-node, :attrs nil, :content ["my text"]}]}
:解析されたときに
user=> (use 'clojure.xml)
を、XMLは次のような構造を持っています
そしてファイルの内容をseqでthの内容を得ることができます電子low-node
:
user=> (for [x (xml-seq
(parse (java.io.File. file)))
:when (= :low-node (:tag x))]
(first (:content x)))
("my text")
あなたは、低ノードに関する情報のリスト全体へのアクセス権を持っていると思った場合は同様に、あなたは(= (:high-node (:tag x)))
に:when
述語を変更します
user=> (for [x (xml-seq
(parse (java.io.File. file)))
:when (= :high-node (:tag x))]
(first (:content x)))
({:tag :low-node, :attrs nil, :content ["my text"]})
この作品のキーワード理由機能として動作することができる。 Questions about lists and other stuff in ClojureとData Structures: Keywords
zip-query.cljの例は、clojure.data.zipのgithubリポジトリのsrc/test/clojure/clojure/data/zipにあるxml_test.cljにあります。 –
面白いですまあ、SOの最も有益な人からの素晴らしい答えを得ました。しかし、結果の解析されたデータを実行した後でさえも。xmlのいずれかの提案を介して、結果の構造はまだ私に多くの意味をしません。 data.xmlがその後継者でない限り、XML-ZIPを見るつもりです。 – octopusgrabbus