go使用xpath解析 xml 格式資訊
阿新 • • 發佈:2018-12-29
一:使用github.com/beevik/etree 包解析xml檔案、http請求返回值。
1.讀取檔案
doc := etree.NewDocument()
if err := doc.ReadFromFile("bookstore.xml"); err != nil {
panic(err)
}
2.解析http請求返回資訊。
var urls = "https://www.baidu.com" // 將http rsponse 轉化string func httpresponse(urls string) string { client := &http.Client{} req, err := http.NewRequest("GET", urls, nil) if err != nil { log.Fatal(err) } // 訪問有認證的url,需要設定認證引數 req.SetBasicAuth(username, password) resp, err := client.Do(req) if err != nil { log.Fatal(err) } bodyText, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) } str := string(bodyText) return str } // 使用xpath解析 func getXpath(){ doc := etree.NewDocument() if err := doc.ReadFromString(str); err != nil { log.Panic(err) } // 過去資料方法和xpath規則一致 for _, t := range doc.FindElements("//book[@category='WEB']/title") { fmt.Println("Title:", t.Text()) } }