猿问

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

看着go xml包,我找不到这种可能性。 Go仅允许定义结构树,将它们映射到XML树并使用进行反序列化xml.NewDecoder(myXmlString).Decode(myStruct)

即使定义了所需的Go结构树,我仍然无法使用XPath查询该树。

C#具有便捷的SelectSingleNode函数,该函数允许通过指定XPath从XML树中选择值,而无需在C#类中复制整个树结构。

Go中是否有类似的可能性?如果不是,那么实现它的最简单方法是什么(可能重复使用xml包)?


MMTTMM
浏览 267回答 3
3回答

芜湖不芜

还有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)}
随时随地看视频慕课网APP

相关分类

Go
我要回答