看着
go xml package我找不到这样的可能性.
Go只允许定义结构树,将它们映射到XML树并使用xml.NewDecoder(myXmlString).Decode(myStruct)进行反序列化.
Go只允许定义结构树,将它们映射到XML树并使用xml.NewDecoder(myXmlString).Decode(myStruct)进行反序列化.
即使我定义了所需的Go结构树,我仍然无法使用XPath查询该树.
C#具有方便的功能SelectSingleNode,允许通过指定XPath而不复制C#类中的整个树结构从XML树中选择值.
Go有类似的可能吗?
如果不是那么最简单的方法来实现它(可能重用xml包)?
即使不是xpath,您可以使用本机
go xml encoder软件包从XML中读取值.您将使用xml.Unmarshal()函数.
Here是一个去玩的例子.
原文链接:https://www.f2er.com/xml/292978.htmlpackage 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) }