我试图在goquery. 我不知道如何在丢弃所有其他内容的同时解析字符串“我需要的字符串”。 <div class="outter-class"> <h1 class="inner-class"> The string I need <span class="other-class" >Some value I don't need</span> <span class="other-class2" title="sometitle"></span> </h1> <div class="other-class3"> <h3>Some heading i don't need</h3> </div> </div>我尝试使用类似的东西:https : //stackoverflow.com/a/8851526/989919 通过将其调整为这样的 goquery:test := s.Clone().Children().Empty().End().Text()fmt.Println(test.Text()) 但这不起作用。我从API 中尝试了很多不同的变体,但我无法弄清楚。
3 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
我让它工作的方式是:
// End() lets us jump back to the h1 selection to get its text
text := doc.Find("h1").Children().Remove().End().Text()
text = strings.TrimSpace(text)
fmt.Println(text)
输出:
我需要的字符串
该代码从 h1 元素中删除子节点(span 元素)以获得正确的输出。可能有更简单的方法来做到这一点,但它有效。:)
拉丁的传说
TA贡献1789条经验 获得超8个赞
我发现实现此目的的最佳方法:
text := dom.Find(".inner-class").Nodes[0].FirstChild.Data
我花了很多时间在 goquery 下使用 HTML 解析库,所以这对我来说似乎并不难,但对某些人来说可能是这样。
- 3 回答
- 0 关注
- 198 浏览
添加回答
举报
0/150
提交
取消