如何在Go中使用XPath从XML中获取值
发布时间:2020-12-16 07:56:43 所属栏目:百科 来源:网络整理
导读:看着 go xml package我找不到这样的可能性. Go只允许定义结构树,将它们映射到XML树并使用xml.NewDecoder(myXmlString).Decode(myStruct)进行反序列化. 即使我定义了所需的Go结构树,我仍然无法使用XPath查询该树. C#具有方便的功能SelectSingleNode,允许通过
看着
go xml package我找不到这样的可能性.
Go只允许定义结构树,将它们映射到XML树并使用xml.NewDecoder(myXmlString).Decode(myStruct)进行反序列化. 即使我定义了所需的Go结构树,我仍然无法使用XPath查询该树. C#具有方便的功能SelectSingleNode,允许通过指定XPath而不复制C#类中的整个树结构从XML树中选择值. Go有类似的可能吗?
即使不是xpath,您可以使用本机
go xml encoder软件包从XML中读取值.您将使用xml.Unmarshal()函数.
Here是一个去玩的例子.
package main import "fmt" import "encoding/xml" func main() { type People struct { Names []string `xml:"Person>FullName"` } data := ` <People> <Person> <FullName>Jerome Anthony</FullName> </Person> <Person> <FullName>Christina</FullName> </Person> </People> ` v := People{Names: []string{}} err := xml.Unmarshal([]byte(data),&v) if err != nil { fmt.Printf("error: %v",err) return } fmt.Printf("Names of people: %q",v) } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |