diff -r de13d477b43f src/pkg/xml/read.go --- a/src/pkg/xml/read.go Thu Sep 15 21:32:34 2011 +1000 +++ b/src/pkg/xml/read.go Fri Sep 16 21:17:07 2011 +0100 @@ -321,10 +321,9 @@ // Save v := sv.FieldByIndex(f.Index) - if _, ok := v.Interface().(Name); !ok { - return UnmarshalError(sv.Type().String() + " field XMLName does not have type xml.Name") + if _, ok := v.Interface().(Name); ok { + v.Set(reflect.ValueOf(start.Name)) } - v.Set(reflect.ValueOf(start.Name)) } // Assign attributes.