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

如何使用 gokogiri (libxml2) 解析带有命名空间的 xml?

如何使用 gokogiri (libxml2) 解析带有命名空间的 xml?

Go
侃侃无极 2021-09-10 09:57:24
我正在使用github.com/moovweb/gokogiri解析 XML 文档。以下在解析var b时有效,但是当我在var a(具有命名空间)上尝试相同的操作时,我没有得到任何输出。如何使用 解析具有命名空间的 XML gokogiri?package mainimport (    "github.com/moovweb/gokogiri"    "github.com/moovweb/gokogiri/xpath"    "log")func main() {    log.SetFlags(log.Lshortfile)    doc, _ := gokogiri.ParseXml([]byte(a))    defer doc.Free()    doc.SetNamespace("", "http://example.com/this")    x := xpath.Compile(".//NodeA/NodeB")    groups, err := doc.Search(x)    if err != nil {        log.Println(err)    }    for i, group := range groups {        log.Println(i, group)    }}var a = `<?xml version="1.0" ?><NodeA xmlns="http://example.com/this"><NodeB>thisthat</NodeB></NodeA>`var b = `<?xml version="1.0" ?><NodeA><NodeB>thisthat</NodeB></NodeA>`编辑#1:我也试过,doc.RegisterNamespace但得到了doc.RegisterNamespace 未定义(类型 *xml.XmlDocument 没有字段或方法 RegisterNamespace)”并x.RegisterNamespace得到x.RegisterNamespace 未定义(类型 *xpath.Expression 没有字段或方法 RegisterNamespace)”
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

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