1 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您想使用您建議的具有奇怪縮進(jìn)的第二組代碼,那么解決方案如下:
package main
import (
"fmt"
"log"
"strings"
"golang.org/x/net/html"
)
func main() {
r := strings.NewReader(`<a href="test1.html">1</a><a href="test1.html">1</a><div><a href="test2.html">2</a><a href="test3.html">3</a></div>`)
doc, err := html.Parse(r)
if err != nil {
log.Fatalln(err)
}
indent("", doc)
}
func indent(space string, n *html.Node) {
fmt.Println(space, n.Data)
if n.FirstChild != nil {
indent(space+" ", n.FirstChild)
}
if n.NextSibling != nil {
indent(space, n.NextSibling)
}
}
您只需刪除+" "縮進(jìn)調(diào)用的額外內(nèi)容n.NextSibling,以便同級節(jié)點(diǎn)不會比其先前的同級節(jié)點(diǎn)被推出得更遠(yuǎn)。
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)