获取html标签的属性 - Enlive

时间:2013-09-20 12:26:47

标签: clojure enlive

我试图将属性src的{​​{1}}标记的img属性设置为某个值。

好的,我得到了itemprop标签,我可以根据我今天早些时候在这里提到的问题提取内部文本(在这种情况下显然没有文字),但我找不到任何内容会帮助我返回img属性

的值
src

这通过itemprop获取元素的内部文本我作为参数传递

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要包含属性和内容的标记,因此您将删除选择器的net.cgrand.enlive-html/text-node部分。

(defn getbyitemprop
  "Extract node content from HTML"
  [html value]
  (e/select-nodes* (e/html-snippet html)
                   [(e/attr= :itemprop value)]))

(getbyitemprop
  "<p itemprop=\"description\" src=\"testvalue\"> Some content I want to extract </p>"
  "description")
;=> ({:tag :p, 
;     :attrs {:src "testvalue", :itemprop "description"}, 
;     :content (" Some content I want to extract ")})

这适用于html的动态字符串,如果您想要对文件或一般资源进行更一般的转换,请查看deftemplatedefsnippet的{​​{3}}。