有谁知道命名空间感知 xml 解析器/拉链?
我希望解析以下内容,而不是引入一大堆轴或类似的库:
(ns foo
(:require [clojure.zip :as zip]
[clojure.xml :as xml])
(:use clojure.data.zip.xml))
(def xml "<soap:Envelope xmlns=\"urn:WEBSERVICE-URN\"
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">
<soap:Body>
<loginResponse>
<result>
<sessionKey>SESSION-KEY-HERE</sessionKey>
</result>
</loginResponse>
</soap:Body>
</soap:Envelope>")
(def root
(zip/xml-zip
(xml/parse
(java.io.ByteArrayInputStream. (.getBytes xml "UTF-8")))))
(def key (xml1-> root ???? ???? :loginResponse :result :sessionKey text))
我似乎无法导航具有 XML 命名空间的 xml 元素?