1 回答

TA貢獻1883條經驗 獲得超3個贊
如果您想使用您建議的具有奇怪縮進的第二組代碼,那么解決方案如下:
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)
}
}
您只需刪除+" "縮進調用的額外內容n.NextSibling,以便同級節點不會比其先前的同級節點被推出得更遠。
- 1 回答
- 0 關注
- 141 瀏覽
添加回答
舉報