diff -r a38173c1c8b2 -r 578c2a83dc18 structs_test.go --- a/structs_test.go Sun Jan 08 13:04:09 2012 -0700 +++ b/structs_test.go Thu Jan 12 23:14:25 2012 -0700 @@ -136,3 +136,10 @@ } assertEquals(t, "presence", st.GetName()) } + +func TestMarshalEscaping(t *testing.T) { + msg := &Message{Body: &Generic{XMLName: xml.Name{Local: "body"}, + Chardata: `&