我不知道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 关注
- 333 浏览
添加回答
举报
0/150
提交
取消