草庐IT

clojure-contrib

全部标签

xml - 简单的 Clojure XML 编辑

假设我有一个map向量[{:username"kbee":firstname"Kay":lastname"Bee"},{:username"jcee":firstname"Jay":lastname"Cee"}]我想为每个map生成xml文件,如下所示kbeeKayBee我如何仅使用clojure核心库来实现此目的。(我查看了enlive和fleet,但它们对我来说似乎有点复杂。)理想情况下我想做以下事情(map#(spit(str(:username%)".xml")(gen-xmlsometemplate%)map-of-users)) 最佳答案

xml - Clojure:data.xml:创建名为 "xlink:href"的键

上下文我正在使用data.xml从clojure输出一个xml文件。我需要输出以下行:(我们正在用SVG画一只猫)。现在,我的尝试是这样的:(indent-str(element:use{:xlink:href"#whiskers",:transform"scale(-11)translate(-1400)"}))失败是因为:xlink:href"#whiwksers"显然被解释为::链接,:href"#mustache"问题如何创建一个clojure符号来输出“xlink:href”作为data.xml的字段?编辑我试过:(关键字“xlink:href”)还是一样的错误。不确定发生了

xml - 如何在 clojure.data.zip 中使用 xml-> 获取嵌套节点?

我发现xml->的用法非常困惑。我已阅读文档和示例,但无法弄清楚如何获取xml文档的嵌套节点。假设以下xml在一个zipper中(来自xml-zip):我正在尝试返回带有class='two'的div。我期待这会起作用:(xml->z:html:body:div:div)或者这个:(xml->z:html:body:div(attr=:class"two"))有点像css选择器。但它只返回第一层,并没有向下搜索树。我可以让它工作的唯一方法是:(xml->z:html:body:divchildrenleftmost?)这是我应该做的吗?我开始使用xml->的全部原因是为了方便和避免上下

xml - 在 Clojure 中如何在集合上应用函数

我正在尝试应用函数从一组标签的xml中提取一个标签的内容。基本上,我正在尝试制作一个从xml中提取内容的函数,就像这样(defnget-events[xz](map(juxt#(zf/xml1->%:titlezf/text)#(zf/xml1->%:performers:performer:namezf/text)#(zf/xml1->%:start_timezf/text)#(zf/xml1->%:stop_timezf/text))(zf/xml->xz:events:event)))到目前为止我的解决方案是这样的(nsdatamodel(:use[net.cgrand.enli

xml - clojure - 将没有属性的 xml 解析为映射的简单方法

我的xml没有使用属性和命名空间。标签可以嵌套。我想将其解析为Clojure映射。我希望标签名称成为键。这些值要么是节点的嵌套映射,要么是叶子的文本。最简单的方法是什么? 最佳答案 我用这个:clojure.xml/parse您可能发现的问题是输出的结构不是您想要的map。您将不得不从clojure.xml映射到您的映射进行某种转换。我尝试创建某种通用翻译器,但我最终意识到我需要一些东西来定义xml的结构(模式)。然后我寻找一个使用xsd为我转换xml的Clojure项目。当时没有什么很好的支持。所以我最终只编写了Clojure来进

xml - 使用 Clojure 附加和前置到 XML 文件

我有一个XML文件,其格式类似于:stuffstuffstuff...stuffstuffstuffClojureHashMap类似于:{:a"Morestuff":b"Someotherstuff":c"Yetmoreofthatstuff"}我想在之后添加从此HashMap创建的XML(¶)标记和第一个之前(¶)要添加的XML如下:MorestuffSomeotherstuffYetmoreofthatstuff我还希望能够删除最后一个(或n...)...s来自文件。我正在努力想出一个惯用的方法来添加和附加这些数据。我可以进行原始字符串操作,或使用xml/parse和xml-seq

xml - 使用 Clojure 解析 .mxl 文件

我想用clojure解析一个.mxl文件(MusicXML)到目前为止,我已经看到很多处理.xml文件的工具,但我找不到处理.mxl的方法,也许我应该先将mxl转换为xml,但我不知道该怎么做那也不是。 最佳答案 来自MusicXML上的维基百科页面:Thetextualrepresentationlistedaboveisverbose;MusicXMLv2.0addressesthisbyaddingacompressedzipformatwitha.mxlsuffixthatcanmakefilesroughlyone-twe

xml - 使用 data.zip 在 Clojure 中解析 XML 时出现 OutOfMemoryError

我想使用Clojure从WiktionaryXML转储中提取标题。我使用head-n10000>out-10000.xml创建了原始怪物文件的较小版本。然后我用一个文本编辑器修整以使其成为有效的XML。我根据里面的行数重命名了文件(wc-l):(defdata-9764"data/wiktionary-en-9764.xml");354K(defdata-99224"data/wiktionary-en-99224.xml");4.1M(defdata-995066"data/wiktionary-en-995066.xml");34M(defdata-7999931"data/wik

xml - 如何仅从 clojure 中的嵌套 XML 中过滤某些值?

我输入的XML已转换为clojure-map,并且可以像这样在一个clojure映射中看到所有值但是如何从嵌套的detail_D1标签XML结构中过滤出某些值(mnAmountReceived)。我的XML是这样的,为简洁起见被截断了:1.0EVENTOUTsv*ALL9991.0001009992.0002009993.000300例如:我想过滤mnAmountReceived并根据标签下的mnOrderLineNumber将它们分配给单独的键。我得到一个xml,我使用以下函数将其转换为clojure映射(xml/parse-strxml-str))(defnclojurify-xm

xml - 如何使用现有的 Nant 或 Nant Contrib 任务附加 XML 节点?

在使用Nant的构建过程中,如何更新xml文件以添加新节点。我希望通过使用现有的Nant/NantContrib任务来做到这一点 最佳答案 这是一篇详细解释的文章:http://weblogs.asp.net/bsimser/archive/2008/01/03/appending-nodes-in-xml-files-with-xmlpeek-and-xmlpoke-using-nant.aspx基本上...使用xmlpeek将您要追加的节点加载到变量中将您的新节点(作为字符串)附加到第1步中的变量使用xmlpoke替换第一步选择