第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用 Go 解析 xml,忽略嵌套元素?

用 Go 解析 xml,忽略嵌套元素?

Go
梵蒂岡之花 2021-09-27 14:25:07
我正在嘗試使用 Golang xml 解析器解析 html 文檔。我已經(jīng)設(shè)法提取所有<li>元素,但如果元素包含鏈接<a>,則鏈接的內(nèi)容將被忽略。我只想忽略嵌套<a>并將其內(nèi)容顯示為純文本,但我不知道如何。這是我的代碼:d := xml.NewDecoder(resp.Body)d.Strict = falsed.AutoClose = xml.HTMLAutoClosed.Entity = xml.HTMLEntitytype list_item struct {    Data string `xml:",chardata"`}for {    t,_ := d.Token()    if t == nil {        break    }    switch se := t.(type) {    case xml.StartElement:        if se.Name.Local == "li" {            var q list_item            d.DecodeElement(&q, &se)            c.Infof("%+v\n", q)        }    }}有沒有辦法忽略嵌套元素并顯示其內(nèi)容?
查看完整描述

2 回答

?
絕地?zé)o雙

TA貢獻1946條經(jīng)驗 獲得超4個贊

Constder 使用專門的包來解析 HTML。通常,HTML 不是 XML(XHTML 1.0 是,但使用它格式化的文檔并不常見,該標準已被棄用)。

在我看來,一個更好的方法(考慮到您的明顯用例)是使用XPath通過查詢來提取必要的信息。

至于所述的問題,我認為沒有內(nèi)置的方法可以做你想做的事:xml.Decoder實現(xiàn)Skip()方法但它只允許你跳過不需要的內(nèi)容;沒有任何東西按原樣返回“內(nèi)部 XML”。您可以通過使用xml.Decoder's自己滾動它RawToken():通過立即呈現(xiàn)它返回的任何內(nèi)容,直到它返回您正在尋找的表示和結(jié)束元素的內(nèi)容(您必須實現(xiàn)對處理嵌套元素的支持)。


查看完整回答
反對 回復(fù) 2021-09-27
  • 2 回答
  • 0 關(guān)注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號