为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用go检查XML文件中是否存在标签?

如何使用go检查XML文件中是否存在标签?

Go
米琪卡哇伊 2021-03-31 13:15:23
我不知道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)

}


查看完整回答
反对 回复 2021-04-19
  • 2 回答
  • 0 关注
  • 333 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信