猿问

从没有子元素的div中获取文本

我试图在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 中尝试了很多不同的变体,但我无法弄清楚。


一只斗牛犬
浏览 199回答 3
3回答

慕的地6264312

我让它工作的方式是:// End() lets us jump back to the h1 selection to get its texttext := doc.Find("h1").Children().Remove().End().Text()text = strings.TrimSpace(text)fmt.Println(text)输出:我需要的字符串该代码从 h1 元素中删除子节点(span 元素)以获得正确的输出。可能有更简单的方法来做到这一点,但它有效。:)

拉丁的传说

我发现实现此目的的最佳方法:text&nbsp;:=&nbsp;dom.Find(".inner-class").Nodes[0].FirstChild.Data我花了很多时间在 goquery 下使用 HTML 解析库,所以这对我来说似乎并不难,但对某些人来说可能是这样。

慕勒3428872

怎么样:doc.Find(".outter-class&nbsp;.inner-class").Children().First().Text()
随时随地看视频慕课网APP

相关分类

Go
我要回答