如何用冒号解组 XML 属性?

我正在使用的一些 SVG/XML 文件在属性名称中有破折号和冒号 - 例如:

<g>
  <a xlink:href="http://example.com" data-bind="121">...</a>
  </g>

我试图弄清楚如何使用golang'sencoding/xml包解组这些属性。虽然虚线属性有效,但带有冒号的属性无效:

package main


import (

    "encoding/xml"

    "fmt"

)


var data = `

<g>

    <a xlink:href="http://example.com" data-bind="121">lala</a>

</g>

`


type Anchor struct {

    DataBind  int    `xml:"data-bind,attr"`  // this works

    XlinkHref string `xml:"xlink:href,attr"` // this fails

}


type Group struct {

    A Anchor `xml:"a"`

}


func main() {

    group := Group{}

    _ = xml.Unmarshal([]byte(data), &group)


    fmt.Printf("%#v\n", group.A)

}

这些看似合法的属性名称;知道如何提取xlink:href一个吗?谢谢。


蛊毒传说
浏览 213回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go