From ec479f049a20c6154b351f4053fe359ac9cdd6eb Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Thu, 27 May 2021 09:31:35 +0200 Subject: [PATCH] Example: xml-zip [skip ci] --- examples/README.md | 2 ++ examples/pom_version_get_xml_zip.clj | 15 +++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 examples/pom_version_get_xml_zip.clj diff --git a/examples/README.md b/examples/README.md index 7211218c..37553d7a 100644 --- a/examples/README.md +++ b/examples/README.md @@ -300,6 +300,8 @@ $ examples/which.clj rg A script to retrieve the version from a `pom.xml` file. See [pom_version_get.clj](pom_version_get.clj). Written by [@wilkerlucio](https://github.com/wilkerlucio). +See [pom_version_get_xml_zip.clj](pom_version_get_xml_zip.clj) for how to do the same using zippers. + Also see [pom_version_set.clj](pom_version_set.clj) to set the pom version. ## Whatsapp frequencies diff --git a/examples/pom_version_get_xml_zip.clj b/examples/pom_version_get_xml_zip.clj new file mode 100644 index 00000000..9caa1a9e --- /dev/null +++ b/examples/pom_version_get_xml_zip.clj @@ -0,0 +1,15 @@ +(require '[babashka.deps :as deps]) + +(deps/add-deps '{:deps {org.clojure/data.zip {:mvn/version "RELEASE"}}}) + +(require '[clojure.data.xml :as xml] + '[clojure.data.zip.xml :as xmlz] + '[clojure.zip :as zip]) + +(def xml "1.0.0") + +(-> xml + xml/parse-str + zip/xml-zip + (xmlz/xml1-> :pom :version zip/down zip/node)) +;; => 1.0.0