(use '[clojure.contrib.prxml])
(defn makeList [] (list
["key1" "value1"]
["key2" "value2"]
["key3"
["key3-1" "value3-1"]
["key3-2" "value3-2"]
])
)
(defn kv2xml []
(let [s (new java.io.StringWriter)]
(binding [*prxml-indent* 2 *out* s]
(prxml [:langs {:type "current"} (makeList)])
)
(.close s)
(.trim (.toString s))
)
)
(assert (= (kv2xml)
"<langs type=\"current\">
<key1>value1</key1>
<key2>value2</key2>
<key3>
<key3-1>value3-1</key3-1>
<key3-2>value3-2</key3-2>
</key3>
</langs>"))