| 12345678910111213141516171819202122232425262728293031323334353637383940 | // Copyright 2012 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// This example demonstrates parsing HTML data and walking the resulting tree.package html_testimport (	"fmt"	"log"	"strings"	"golang.org/x/net/html")func ExampleParse() {	s := `<p>Links:</p><ul><li><a href="foo">Foo</a><li><a href="/bar/baz">BarBaz</a></ul>`	doc, err := html.Parse(strings.NewReader(s))	if err != nil {		log.Fatal(err)	}	var f func(*html.Node)	f = func(n *html.Node) {		if n.Type == html.ElementNode && n.Data == "a" {			for _, a := range n.Attr {				if a.Key == "href" {					fmt.Println(a.Val)					break				}			}		}		for c := n.FirstChild; c != nil; c = c.NextSibling {			f(c)		}	}	f(doc)	// Output:	// foo	// /bar/baz}
 |