我試圖在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 關注
- 252 瀏覽
添加回答
舉報
0/150
提交
取消