2017-01-06 20 views
0

与Clojure完全初学者。你如何访问Clojure中的突变jsoup文档?我有下面的代码,我想打印出更改后的html,而不是被删除的链接。什么是从Clojure(Java可变对象互操作性)中的JSoup文档中删除元素的最佳方法?

(defn get-page [] 
    (.get (org.jsoup.Jsoup/connect "https://example.com"))) 

(defn -main 
    "Fetch the page, delete links, and print out the html of the modified page" 
    [& args] 
    (let [html (get-page)] 
    (println (.remove (.select html "a[href]"))))) 
+1

后不打印remove'的'的结果,而不是'let'形式和'(的println中添加另一条线html)'(或者任何你喜欢的java-interop)。 'html'包含你之后的对象。一旦你修改它,它就会保持当前状态。 – cfrick

+0

谢谢cfrick。就是这样。 – Sully

回答

1

@cfrick在评论中回答了问题,所以我只是将其扩展为一个示例以使其更加清晰。

,让我们改变-mainhtml打印前值和它改变

(defn -main 
    "Fetch the page, delete links, and print out the html of the modified page" 
    [& args] 
    (let [html (get-page)] 
    (println "html before modification") 
    (println html) 

    (.remove (.select html "a[href]")) 

    (println "html after modification") 
    (println html))) 
相关问题