如果在 Go 中使用 XML,我正在尝试解析一块:
package main
import (
"encoding/xml"
"fmt"
)
type XML struct {
Foo string `xml:"foo"`
}
func main() {
rawXML := []byte(`
<xml>
<foo>A</foo>
<ns:foo>B</ns:foo>
</xml>`)
x := new(XML)
xml.Unmarshal(rawXML, x)
fmt.Printf("foo: %s\n", x.Foo)
}
这输出:
foo: B
虽然我预计它会产生:
foo: A
如何获取第一个foo
标签的内容(即没有命名空间的标签)?