我不认为xml解码器可以指定一个元素不应该带有struct标签的名称空间。但是我确实知道它可以为您检索有关名称空间的信息,然后可以对数据进行后期处理以得到相同的结果:
package mainimport ( "encoding/xml" "fmt")type Foo struct { XMLName xml.Name Data string `xml:",chardata"`}type XML struct { Foo []Foo `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: %#vn", x) for _, el := range x.Foo { if el.XMLName.Space == "" { fmt.Printf("non namespaced foo %q", el.Data) } }}http://play.golang.org/p/aDEFPmHPc0



