我的尝试片段(使用 HXT 和 HandsomeSoup):
#!/usr/bin/env runhaskell
import Text.HandsomeSoup
import Text.XML.HXT.Core
main = do
let html = "<html><body><a href='a'>b</a><a href='x'>y<p>z</p></a></body></html>"
let doc = parseHtml html
val <- runX $ doc >>> css "a" >>> deepest getText
print val
输出:
["b","y","z"]
期望的输出:
["b","yz"]
本质上,我正在寻找类似text()
jQuery 的功能。
Edit2:在 jQuery 中,它实际上是单行的:
const texts = $('a').map((id, e) => $(e).text()).get();