我不知道XML文件中存在的標簽。我想知道是否存在某個標簽。例如,假設文件是這樣的:<?xml version='1.1' encoding='UTF-8'?><tag1> <tag2></tag2></tag1><tag3/>在這里,我想檢查是否tag2存在。使用解析XML文件的唯一方法go是定義structs,但為此,我必須知道文件中存在哪些標簽,而我沒有。
2 回答

喵喔喔
TA貢獻1735條經驗 獲得超5個贊
一種方法是使用XPath和xmlpath包:
xml := `<?xml version='1.0' encoding='UTF-8'?><tag1><tag2>foo</tag2></tag1><tag3/>`
path := "/tag1/tag2"
compiledPath := xmlpath.MustCompile("/tag1/tag2")
root, err := xmlpath.Parse(strings.NewReader(xml))
if err != nil {
log.Fatal(err)
}
if value, ok := compiledPath.String(root); ok {
fmt.Printf("Found tag at path %v. Value: %v\n", path, value)
} else {
fmt.Printf("Tag at path %v not found\n", path)
}
- 2 回答
- 0 關注
- 373 瀏覽
添加回答
舉報
0/150
提交
取消