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

如何在Go中使用XPath从XML获取值

如何在Go中使用XPath从XML获取值

Go
MMTTMM 2021-05-14 22:26:51
看着go xml包,我找不到这种可能性。 Go仅允许定义结构树,将它们映射到XML树并使用进行反序列化xml.NewDecoder(myXmlString).Decode(myStruct)。即使定义了所需的Go结构树,我仍然无法使用XPath查询该树。C#具有便捷的SelectSingleNode函数,该函数允许通过指定XPath从XML树中选择值,而无需在C#类中复制整个树结构。Go中是否有类似的可能性?如果不是,那么实现它的最简单方法是什么(可能重复使用xml包)?
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

还有xmlpath包。


用法示例:


path := xmlpath.MustCompile("/library/book/isbn")

root, err := xmlpath.Parse(file)

if err != nil {

    log.Fatal(err)

}

if value, ok := path.String(root); ok {

    fmt.Println("Found:", value)

}


查看完整回答
反对 回复 2021-05-24
  • 3 回答
  • 0 关注
  • 266 浏览
慕课专栏
更多

添加回答

举报

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